kernel.h: drop inclusion in bitmap.h
[linux-2.6-microblaze.git] / include / linux / module.h
index da4b6fb..8100bb4 100644 (file)
@@ -26,6 +26,7 @@
 #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>
@@ -128,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
 
@@ -376,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;