Blame view
fs/verity/init.c
1.14 KB
671e67b47
|
1 2 |
// SPDX-License-Identifier: GPL-2.0 /* |
c864727cb
|
3 |
* fs-verity module initialization and logging |
671e67b47
|
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
* * Copyright 2019 Google LLC */ #include "fsverity_private.h" #include <linux/ratelimit.h> void fsverity_msg(const struct inode *inode, const char *level, const char *fmt, ...) { static DEFINE_RATELIMIT_STATE(rs, DEFAULT_RATELIMIT_INTERVAL, DEFAULT_RATELIMIT_BURST); struct va_format vaf; va_list args; if (!__ratelimit(&rs)) return; va_start(args, fmt); vaf.fmt = fmt; vaf.va = &args; if (inode) printk("%sfs-verity (%s, inode %lu): %pV ", level, inode->i_sb->s_id, inode->i_ino, &vaf); else printk("%sfs-verity: %pV ", level, &vaf); va_end(args); } static int __init fsverity_init(void) { |
fd2d1acfc
|
38 |
int err; |
671e67b47
|
39 |
fsverity_check_hash_algs(); |
fd2d1acfc
|
40 41 42 |
err = fsverity_init_info_cache(); if (err) return err; |
8a1d0f9ca
|
43 44 45 |
err = fsverity_init_workqueue(); if (err) goto err_exit_info_cache; |
432434c9f
|
46 47 48 |
err = fsverity_init_signature(); if (err) goto err_exit_workqueue; |
671e67b47
|
49 50 51 |
pr_debug("Initialized fs-verity "); return 0; |
8a1d0f9ca
|
52 |
|
432434c9f
|
53 54 |
err_exit_workqueue: fsverity_exit_workqueue(); |
8a1d0f9ca
|
55 56 57 |
err_exit_info_cache: fsverity_exit_info_cache(); return err; |
671e67b47
|
58 59 |
} late_initcall(fsverity_init) |