Re: [PATCH v2] powerpc: Default to enabling STRICT_KERNEL_RWX

From: Balbir Singh
Date: Thu Oct 05 2017 - 18:22:52 EST


On Fri, Oct 6, 2017 at 6:03 AM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> When available, CONFIG_KERNEL_RWX should be default-enabled for PPC64.
> On PPC32, there is a performance trade-off.
>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Cc: Christophe LEROY <christophe.leroy@xxxxxx>
> Cc: Balbir Singh <bsingharora@xxxxxxxxx>
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> v2:
> - depend on PPC64, as noted by Christophe.
> ---
> arch/powerpc/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 809c468edab1..4315c9b2db4f 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -178,6 +178,7 @@ config PPC
> select HAVE_ARCH_TRACEHOOK
> select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
> select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
> + select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if PPC64

We usually have CONFIG_RELOCATABLE on - on most configs. Our STRICT
RWX depends on !RELOCATABLE as you've seen. I have patches to fix
STRICT_KERNEL_RWX on CONFIG_RELOCATABLE

https://patchwork.ozlabs.org/patch/795744/ (I need to rebase this to
use generic helpers we have to convert an mm,addr to pte)
Aside, I also have set_memory_xx at
https://patchwork.ozlabs.org/patch/796183/ (again I need to rebase
them)

I hope to get to them next week, hopefully

Balbir Singh.