Re: [PATCH v2] LSM: Convert security_hook_heads into explicit array of struct list_head

From: James Morris
Date: Tue May 30 2017 - 06:33:12 EST


On Mon, 29 May 2017, Tetsuo Handa wrote:

> Igor proposed a sealable memory allocator, and the LSM hooks
> ("struct security_hook_heads security_hook_heads" and
> "struct security_hook_list ...[]") will benefit from that allocator via
> protection using set_memory_ro()/set_memory_rw(), and that allocator
> will remove CONFIG_SECURITY_WRITABLE_HOOKS config option. Thus, we will
> likely be moving to that direction.
>
> This means that these structures will be allocated at run time using
> that allocator, and therefore the address of these structures will be
> determined at run time rather than compile time.
>
> But currently, LSM_HOOK_INIT() macro depends on the address of
> security_hook_heads being known at compile time. If we use an enum
> so that LSM_HOOK_INIT() macro does not need to know absolute address of
> security_hook_heads, it will help us to use that allocator for LSM hooks.
>

This seems like pointless churn in security-critical code in anticipation
of features which are still in development and may not be adopted.

Is there a compelling reason to merge this now? (And I don't mean worrying
about non-existent compliers).



--
James Morris
<jmorris@xxxxxxxxx>