Message ID | 20180925001832.18322-9-keescook@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | LSM: Explict LSM ordering | expand |
On 09/24/2018 05:18 PM, Kees Cook wrote: > In preparation for making LSM selections outside of the LSMs, include > the name of LSMs in struct lsm_info. > > Cc: James Morris <james.morris@microsoft.com> > Signed-off-by: Kees Cook <keescook@chromium.org> I'll leave this one until after the changes you have already discussed with Tetsuo around, END_LSM and .name > --- > 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 } > >
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 }
In preparation for making LSM selections outside of the LSMs, include the name of LSMs in struct lsm_info. Cc: James Morris <james.morris@microsoft.com> Signed-off-by: Kees Cook <keescook@chromium.org> --- include/linux/lsm_hooks.h | 4 ++++ 1 file changed, 4 insertions(+)