• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <generated/utsrelease.h>
3 
4 /* Simply sanity version stamp for modules. */
5 #ifdef CONFIG_SMP
6 #define MODULE_VERMAGIC_SMP "SMP "
7 #else
8 #define MODULE_VERMAGIC_SMP ""
9 #endif
10 #ifdef CONFIG_PREEMPT
11 #define MODULE_VERMAGIC_PREEMPT "preempt "
12 #elif defined(CONFIG_PREEMPT_RT)
13 #define MODULE_VERMAGIC_PREEMPT "preempt_rt "
14 #else
15 #define MODULE_VERMAGIC_PREEMPT ""
16 #endif
17 #ifdef CONFIG_MODULE_UNLOAD
18 #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
19 #else
20 #define MODULE_VERMAGIC_MODULE_UNLOAD ""
21 #endif
22 #ifdef CONFIG_MODVERSIONS
23 #define MODULE_VERMAGIC_MODVERSIONS "modversions "
24 #else
25 #define MODULE_VERMAGIC_MODVERSIONS ""
26 #endif
27 #ifndef MODULE_ARCH_VERMAGIC
28 #define MODULE_ARCH_VERMAGIC ""
29 #endif
30 #ifdef RANDSTRUCT_PLUGIN
31 #include <generated/randomize_layout_hash.h>
32 #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED
33 #else
34 #define MODULE_RANDSTRUCT_PLUGIN
35 #endif
36 
37 #define VERMAGIC_STRING 						\
38 	UTS_RELEASE " "							\
39 	MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT 			\
40 	MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS	\
41 	MODULE_ARCH_VERMAGIC						\
42 	MODULE_RANDSTRUCT_PLUGIN
43 
44