diff --git a/kernel/module.c b/kernel/module.c index a43d6a370198..17b9c73c9046 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -4148,8 +4148,10 @@ int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *, static void cfi_init(struct module *mod) { #ifdef CONFIG_CFI_CLANG + preempt_disable(); mod->cfi_check = (cfi_check_fn)mod_find_symname(mod, CFI_CHECK_FN_NAME); + preempt_enable(); cfi_module_add(mod, module_addr_min, module_addr_max); #endif }