printf: Remove unused 'bprintf'
[drm/drm-misc.git] / include / linux / lsm_count.h
blob16eb49761b253e64e4fc72cdc99eb7381c0c07e9
1 /* SPDX-License-Identifier: GPL-2.0 */
3 /*
4 * Copyright (C) 2023 Google LLC.
5 */
7 #ifndef __LINUX_LSM_COUNT_H
8 #define __LINUX_LSM_COUNT_H
10 #include <linux/args.h>
12 #ifdef CONFIG_SECURITY
15 * Macros to count the number of LSMs enabled in the kernel at compile time.
19 * Capabilities is enabled when CONFIG_SECURITY is enabled.
21 #if IS_ENABLED(CONFIG_SECURITY)
22 #define CAPABILITIES_ENABLED 1,
23 #else
24 #define CAPABILITIES_ENABLED
25 #endif
27 #if IS_ENABLED(CONFIG_SECURITY_SELINUX)
28 #define SELINUX_ENABLED 1,
29 #else
30 #define SELINUX_ENABLED
31 #endif
33 #if IS_ENABLED(CONFIG_SECURITY_SMACK)
34 #define SMACK_ENABLED 1,
35 #else
36 #define SMACK_ENABLED
37 #endif
39 #if IS_ENABLED(CONFIG_SECURITY_APPARMOR)
40 #define APPARMOR_ENABLED 1,
41 #else
42 #define APPARMOR_ENABLED
43 #endif
45 #if IS_ENABLED(CONFIG_SECURITY_TOMOYO)
46 #define TOMOYO_ENABLED 1,
47 #else
48 #define TOMOYO_ENABLED
49 #endif
51 #if IS_ENABLED(CONFIG_SECURITY_YAMA)
52 #define YAMA_ENABLED 1,
53 #else
54 #define YAMA_ENABLED
55 #endif
57 #if IS_ENABLED(CONFIG_SECURITY_LOADPIN)
58 #define LOADPIN_ENABLED 1,
59 #else
60 #define LOADPIN_ENABLED
61 #endif
63 #if IS_ENABLED(CONFIG_SECURITY_LOCKDOWN_LSM)
64 #define LOCKDOWN_ENABLED 1,
65 #else
66 #define LOCKDOWN_ENABLED
67 #endif
69 #if IS_ENABLED(CONFIG_SECURITY_SAFESETID)
70 #define SAFESETID_ENABLED 1,
71 #else
72 #define SAFESETID_ENABLED
73 #endif
75 #if IS_ENABLED(CONFIG_BPF_LSM)
76 #define BPF_LSM_ENABLED 1,
77 #else
78 #define BPF_LSM_ENABLED
79 #endif
81 #if IS_ENABLED(CONFIG_SECURITY_LANDLOCK)
82 #define LANDLOCK_ENABLED 1,
83 #else
84 #define LANDLOCK_ENABLED
85 #endif
87 #if IS_ENABLED(CONFIG_IMA)
88 #define IMA_ENABLED 1,
89 #else
90 #define IMA_ENABLED
91 #endif
93 #if IS_ENABLED(CONFIG_EVM)
94 #define EVM_ENABLED 1,
95 #else
96 #define EVM_ENABLED
97 #endif
99 #if IS_ENABLED(CONFIG_SECURITY_IPE)
100 #define IPE_ENABLED 1,
101 #else
102 #define IPE_ENABLED
103 #endif
106 * There is a trailing comma that we need to be accounted for. This is done by
107 * using a skipped argument in __COUNT_LSMS
109 #define __COUNT_LSMS(skipped_arg, args...) COUNT_ARGS(args...)
110 #define COUNT_LSMS(args...) __COUNT_LSMS(args)
112 #define MAX_LSM_COUNT \
113 COUNT_LSMS( \
114 CAPABILITIES_ENABLED \
115 SELINUX_ENABLED \
116 SMACK_ENABLED \
117 APPARMOR_ENABLED \
118 TOMOYO_ENABLED \
119 YAMA_ENABLED \
120 LOADPIN_ENABLED \
121 LOCKDOWN_ENABLED \
122 SAFESETID_ENABLED \
123 BPF_LSM_ENABLED \
124 LANDLOCK_ENABLED \
125 IMA_ENABLED \
126 EVM_ENABLED \
127 IPE_ENABLED)
129 #else
131 #define MAX_LSM_COUNT 0
133 #endif /* CONFIG_SECURITY */
135 #endif /* __LINUX_LSM_COUNT_H */