Re: [RFC PATCH v2] selinux: security: Move selinux_state to a separate page

From: Nick Desaulniers
Date: Fri Jan 08 2021 - 20:02:49 EST


Via:
https://lore.kernel.org/lkml/1610099389-28329-1-git-send-email-pnagar@xxxxxxxxxxxxxx/

> diff --git a/include/linux/init.h b/include/linux/init.h
> index 7b53cb3..617adcf 100644
> --- a/include/linux/init.h
> +++ b/include/linux/init.h
> @@ -300,6 +300,10 @@ void __init parse_early_options(char *cmdline);
> /* Data marked not to be saved by software suspend */
> #define __nosavedata __section(".data..nosave")
>
> +#ifdef CONFIG_SECURITY_RTIC
> +#define __rticdata __section(".bss.rtic")

if you put:

#else
#define __rticdata

here, then you wouldn't need to label each datum you put in there.

> +#endif
> +
> #ifdef MODULE
> #define __exit_p(x) x
> #else

> --- a/security/selinux/hooks.c
> +++ b/security/selinux/hooks.c
> @@ -104,7 +104,11 @@
> #include "audit.h"
> #include "avc_ss.h"
>
> +#ifdef CONFIG_SECURITY_RTIC
> +struct selinux_state selinux_state __rticdata;
> +#else
> struct selinux_state selinux_state;
> +#endif

so you could then drop the if-def here.


Happy to see this resolved when building with LLD+LTO, which has been a
problem in the past.

Disabling selinux is a common attack vector on Android devices, so happy
to see some effort towards mitigation. You might want to communicate
the feature more to existing OEMs that are using your chipsets that
support this feature.