1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _LINUX_VERMAGIC_H 2 #ifndef _LINUX_VERMAGIC_H 3 #define _LINUX_VERMAGIC_H 3 #define _LINUX_VERMAGIC_H 4 4 5 #ifndef INCLUDE_VERMAGIC << 6 #error "This header can be included from kerne << 7 #endif << 8 << 9 #include <generated/utsrelease.h> 5 #include <generated/utsrelease.h> 10 #include <asm/vermagic.h> 6 #include <asm/vermagic.h> 11 7 12 /* Simply sanity version stamp for modules. */ 8 /* Simply sanity version stamp for modules. */ 13 #ifdef CONFIG_SMP 9 #ifdef CONFIG_SMP 14 #define MODULE_VERMAGIC_SMP "SMP " 10 #define MODULE_VERMAGIC_SMP "SMP " 15 #else 11 #else 16 #define MODULE_VERMAGIC_SMP "" 12 #define MODULE_VERMAGIC_SMP "" 17 #endif 13 #endif 18 #ifdef CONFIG_PREEMPT_BUILD !! 14 #ifdef CONFIG_PREEMPT 19 #define MODULE_VERMAGIC_PREEMPT "preempt " 15 #define MODULE_VERMAGIC_PREEMPT "preempt " 20 #elif defined(CONFIG_PREEMPT_RT) 16 #elif defined(CONFIG_PREEMPT_RT) 21 #define MODULE_VERMAGIC_PREEMPT "preempt_rt " 17 #define MODULE_VERMAGIC_PREEMPT "preempt_rt " 22 #else 18 #else 23 #define MODULE_VERMAGIC_PREEMPT "" 19 #define MODULE_VERMAGIC_PREEMPT "" 24 #endif 20 #endif 25 #ifdef CONFIG_MODULE_UNLOAD 21 #ifdef CONFIG_MODULE_UNLOAD 26 #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unl 22 #define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload " 27 #else 23 #else 28 #define MODULE_VERMAGIC_MODULE_UNLOAD "" 24 #define MODULE_VERMAGIC_MODULE_UNLOAD "" 29 #endif 25 #endif 30 #ifdef CONFIG_MODVERSIONS 26 #ifdef CONFIG_MODVERSIONS 31 #define MODULE_VERMAGIC_MODVERSIONS "modversio 27 #define MODULE_VERMAGIC_MODVERSIONS "modversions " 32 #else 28 #else 33 #define MODULE_VERMAGIC_MODVERSIONS "" 29 #define MODULE_VERMAGIC_MODVERSIONS "" 34 #endif 30 #endif 35 #ifdef RANDSTRUCT !! 31 #ifdef RANDSTRUCT_PLUGIN 36 #include <generated/randstruct_hash.h> !! 32 #include <generated/randomize_layout_hash.h> 37 #define MODULE_RANDSTRUCT "RANDSTRUCT_" RANDST !! 33 #define MODULE_RANDSTRUCT_PLUGIN "RANDSTRUCT_PLUGIN_" RANDSTRUCT_HASHED_SEED 38 #else 34 #else 39 #define MODULE_RANDSTRUCT !! 35 #define MODULE_RANDSTRUCT_PLUGIN 40 #endif 36 #endif 41 37 42 #define VERMAGIC_STRING 38 #define VERMAGIC_STRING \ 43 UTS_RELEASE " " 39 UTS_RELEASE " " \ 44 MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PR 40 MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ 45 MODULE_VERMAGIC_MODULE_UNLOAD MODULE_V 41 MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ 46 MODULE_ARCH_VERMAGIC 42 MODULE_ARCH_VERMAGIC \ 47 MODULE_RANDSTRUCT !! 43 MODULE_RANDSTRUCT_PLUGIN 48 44 49 #endif /* _LINUX_VERMAGIC_H */ 45 #endif /* _LINUX_VERMAGIC_H */ 50 46
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.