[PATCH security-next v3 08/29] LSM: Record LSM name in struct lsm_info

From: Kees Cook
Date: Mon Sep 24 2018 - 20:18:49 EST


In preparation for making LSM selections outside of the LSMs, include
the name of LSMs in struct lsm_info.

Cc: James Morris <james.morris@xxxxxxxxxxxxx>
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
---
include/linux/lsm_hooks.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 02ec717189f9..543636f18152 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -2040,16 +2040,20 @@ extern void security_add_hooks(struct security_hook_list *hooks, int count,
char *lsm);

struct lsm_info {
+ const char *name; /* Populated automatically. */
int (*init)(void);
};

extern struct lsm_info __start_lsm_info[], __end_lsm_info[];

#define DEFINE_LSM(lsm) \
+ static const char __lsm_name_##lsm[] __initconst \
+ __aligned(1) = #lsm; \
static struct lsm_info __lsm_##lsm \
__used __section(.lsm_info.init) \
__aligned(sizeof(unsigned long)) \
= { \
+ .name = __lsm_name_##lsm, \

#define END_LSM }

--
2.17.1