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.mor...@microsoft.com>
> Signed-off-by: Kees Cook <keesc...@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        }
>  
> 

Reply via email to