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