diff options
| author | Tony Lindgren <tony@atomide.com> | 2021-05-18 09:45:08 +0300 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2021-05-18 09:45:08 +0300 |
| commit | 85ebe5aeef9b0bf4c91ff91652b32f9c54f71d34 (patch) | |
| tree | dc6b176404218efac28a4a1a0c240cb36f1e9173 /include/linux/module.h | |
| parent | e9aa9c75c58e2e16be16ec2b5db5e14804d07213 (diff) | |
| parent | 040ab72ee10ea88e1883ad143b3e2b77596abc31 (diff) | |
Merge branch 'fixes-rc1' into fixes
Diffstat (limited to 'include/linux/module.h')
| -rw-r--r-- | include/linux/module.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 59f094fa6f74..8100bb477d86 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -26,13 +26,11 @@ #include <linux/tracepoint-defs.h> #include <linux/srcu.h> #include <linux/static_call_types.h> +#include <linux/cfi.h> #include <linux/percpu.h> #include <asm/module.h> -/* Not Yet Implemented */ -#define MODULE_SUPPORTED_DEVICE(name) - #define MODULE_NAME_LEN MAX_PARAM_PREFIX_LEN struct modversion_info { @@ -131,13 +129,17 @@ extern void cleanup_module(void); #define module_init(initfn) \ static inline initcall_t __maybe_unused __inittest(void) \ { return initfn; } \ - int init_module(void) __copy(initfn) __attribute__((alias(#initfn))); + int init_module(void) __copy(initfn) \ + __attribute__((alias(#initfn))); \ + __CFI_ADDRESSABLE(init_module, __initdata); /* This is only required if you want to be unloadable. */ #define module_exit(exitfn) \ static inline exitcall_t __maybe_unused __exittest(void) \ { return exitfn; } \ - void cleanup_module(void) __copy(exitfn) __attribute__((alias(#exitfn))); + void cleanup_module(void) __copy(exitfn) \ + __attribute__((alias(#exitfn))); \ + __CFI_ADDRESSABLE(cleanup_module, __exitdata); #endif @@ -379,6 +381,10 @@ struct module { const s32 *crcs; unsigned int num_syms; +#ifdef CONFIG_CFI_CLANG + cfi_check_fn cfi_check; +#endif + /* Kernel parameters. */ #ifdef CONFIG_SYSFS struct mutex param_lock; |
