diff mbox series

powerpc: Default to enabling STRICT_KERNEL_RWX

Message ID 20171005034505.GA32157@beast (mailing list archive)
State Superseded
Headers show
Series powerpc: Default to enabling STRICT_KERNEL_RWX | expand

Commit Message

Kees Cook Oct. 5, 2017, 3:45 a.m. UTC
When available, CONFIG_KERNEL_RWX should be default-enabled.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Christophe Leroy Oct. 5, 2017, 7:49 a.m. UTC | #1
Le 05/10/2017 à 05:45, Kees Cook a écrit :
> When available, CONFIG_KERNEL_RWX should be default-enabled.

On PPC32, this option implies deactivating BATs and/or LTLB mapping of 
the linear kernel address space, hence a significant performance 
degradation.

So at least on PPC32, it should remain unselected by default.

Christophe

> 
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>   arch/powerpc/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 809c468edab1..9a549bbfc278 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
>   	select HAVE_CBPF_JIT			if !PPC64
>   	select HAVE_CONTEXT_TRACKING		if PPC64
>   	select HAVE_DEBUG_KMEMLEAK
>
Kees Cook Oct. 5, 2017, 5:30 p.m. UTC | #2
On Thu, Oct 5, 2017 at 12:49 AM, Christophe LEROY
<christophe.leroy@c-s.fr> wrote:
>
>
> Le 05/10/2017 à 05:45, Kees Cook a écrit :
>>
>> When available, CONFIG_KERNEL_RWX should be default-enabled.
>
>
> On PPC32, this option implies deactivating BATs and/or LTLB mapping of the
> linear kernel address space, hence a significant performance degradation.
>
> So at least on PPC32, it should remain unselected by default.

Alright, sounds fine to me. Would this be okay?

+       select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if !PPC64

-Kees

>
> Christophe
>
>
>>
>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>> Cc: Paul Mackerras <paulus@samba.org>
>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>> Cc: linuxppc-dev@lists.ozlabs.org
>> Signed-off-by: Kees Cook <keescook@chromium.org>
>> ---
>>   arch/powerpc/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>> index 809c468edab1..9a549bbfc278 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
>>         select HAVE_CBPF_JIT                    if !PPC64
>>         select HAVE_CONTEXT_TRACKING            if PPC64
>>         select HAVE_DEBUG_KMEMLEAK
>>
>
Christophe Leroy Oct. 5, 2017, 6:57 p.m. UTC | #3
Le 05/10/2017 à 19:30, Kees Cook a écrit :
> On Thu, Oct 5, 2017 at 12:49 AM, Christophe LEROY
> <christophe.leroy@c-s.fr> wrote:
>>
>>
>> Le 05/10/2017 à 05:45, Kees Cook a écrit :
>>>
>>> When available, CONFIG_KERNEL_RWX should be default-enabled.
>>
>>
>> On PPC32, this option implies deactivating BATs and/or LTLB mapping of the
>> linear kernel address space, hence a significant performance degradation.
>>
>> So at least on PPC32, it should remain unselected by default.
> 
> Alright, sounds fine to me. Would this be okay?
> 
> +       select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if !PPC64

You mean

select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if PPC64

Don't you ?

Christophe

> 
> -Kees
> 
>>
>> Christophe
>>
>>
>>>
>>> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>>> Cc: Paul Mackerras <paulus@samba.org>
>>> Cc: Michael Ellerman <mpe@ellerman.id.au>
>>> Cc: linuxppc-dev@lists.ozlabs.org
>>> Signed-off-by: Kees Cook <keescook@chromium.org>
>>> ---
>>>    arch/powerpc/Kconfig | 1 +
>>>    1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>>> index 809c468edab1..9a549bbfc278 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
>>>          select HAVE_CBPF_JIT                    if !PPC64
>>>          select HAVE_CONTEXT_TRACKING            if PPC64
>>>          select HAVE_DEBUG_KMEMLEAK
>>>
>>
> 
> 
> 

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Kees Cook Oct. 5, 2017, 6:58 p.m. UTC | #4
On Thu, Oct 5, 2017 at 11:57 AM, christophe leroy
<christophe.leroy@c-s.fr> wrote:
>
>
> Le 05/10/2017 à 19:30, Kees Cook a écrit :
>>
>> On Thu, Oct 5, 2017 at 12:49 AM, Christophe LEROY
>> <christophe.leroy@c-s.fr> wrote:
>>>
>>>
>>>
>>> Le 05/10/2017 à 05:45, Kees Cook a écrit :
>>>>
>>>>
>>>> When available, CONFIG_KERNEL_RWX should be default-enabled.
>>>
>>>
>>>
>>> On PPC32, this option implies deactivating BATs and/or LTLB mapping of
>>> the
>>> linear kernel address space, hence a significant performance degradation.
>>>
>>> So at least on PPC32, it should remain unselected by default.
>>
>>
>> Alright, sounds fine to me. Would this be okay?
>>
>> +       select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if !PPC64
>
>
> You mean
>
> select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if PPC64
>
> Don't you ?

Oops, yes! :)

-Kees
diff mbox series

Patch

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 809c468edab1..9a549bbfc278 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
 	select HAVE_CBPF_JIT			if !PPC64
 	select HAVE_CONTEXT_TRACKING		if PPC64
 	select HAVE_DEBUG_KMEMLEAK