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