Message ID | 20171005034505.GA32157@beast (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | powerpc: Default to enabling STRICT_KERNEL_RWX | expand |
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 >
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 >> >
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
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 --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
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(+)