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