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