File Index
Files and directories
Sign in
FILE

vermagic.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/vermagic.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _LINUX_VERMAGIC_H
 3#define _LINUX_VERMAGIC_H
 4
 5#ifndef INCLUDE_VERMAGIC
 6#error "This header can be included from kernel/module.c or *.mod.c only"
 7#endif
 8
 9#include <generated/utsrelease.h>
10#include <asm/vermagic.h>
11
12/* Simply sanity version stamp for modules. */
13#ifdef CONFIG_SMP
14#define MODULE_VERMAGIC_SMP "SMP "
15#else
16#define MODULE_VERMAGIC_SMP ""
17#endif
18#ifdef CONFIG_PREEMPT_RT
19#define MODULE_VERMAGIC_PREEMPT "preempt_rt "
20#elif defined(CONFIG_PREEMPT_BUILD)
21#define MODULE_VERMAGIC_PREEMPT "preempt "
22#else
23#define MODULE_VERMAGIC_PREEMPT ""
24#endif
25#ifdef CONFIG_MODULE_UNLOAD
26#define MODULE_VERMAGIC_MODULE_UNLOAD "mod_unload "
27#else
28#define MODULE_VERMAGIC_MODULE_UNLOAD ""
29#endif
30#ifdef CONFIG_MODVERSIONS
31#define MODULE_VERMAGIC_MODVERSIONS "modversions "
32#else
33#define MODULE_VERMAGIC_MODVERSIONS ""
34#endif
35#ifdef RANDSTRUCT
36#define MODULE_RANDSTRUCT "RANDSTRUCT_" RANDSTRUCT_HASHED_SEED
37#else
38#define MODULE_RANDSTRUCT
39#endif
40
41#define VERMAGIC_STRING 						\
42	UTS_RELEASE " "							\
43	MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT 			\
44	MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS	\
45	MODULE_ARCH_VERMAGIC						\
46	MODULE_RANDSTRUCT
47
48#endif /* _LINUX_VERMAGIC_H */
~/ Read-only file preview.