[PATCH 2/2] powerpc/mm: Warn if W+X pages found on boot
Russell Currey
ruscur at russell.cc
Wed May 1 17:04:42 AEST 2019
On Wed, 2019-04-24 at 09:14 +0200, Christophe Leroy wrote:
>
> Le 24/04/2019 à 08:39, Russell Currey a écrit :
> > Implement code to walk all pages and warn if any are found to be
> > both
> > writable and executable. Depends on STRICT_KERNEL_RWX enabled, and
> > is
> > behind the DEBUG_WX config option.
> >
> > This only runs on boot and has no runtime performance implications.
> >
> > Very heavily influenced (and in some cases copied verbatim) from
> > the
> > ARM64 code written by Laura Abbott (thanks!), since our ptdump
> > infrastructure is similar.
> >
> > Signed-off-by: Russell Currey <ruscur at russell.cc>
> > ---
> > arch/powerpc/Kconfig.debug | 19 +++++++++++++++
> > arch/powerpc/include/asm/pgtable.h | 5 ++++
> > arch/powerpc/mm/pgtable_32.c | 5 ++++
> > arch/powerpc/mm/pgtable_64.c | 5 ++++
> > arch/powerpc/mm/ptdump/ptdump.c | 38
> > ++++++++++++++++++++++++++++++
> > 5 files changed, 72 insertions(+)
> >
> > diff --git a/arch/powerpc/Kconfig.debug
> > b/arch/powerpc/Kconfig.debug
> > index 4e00cb0a5464..a4160ff02ed4 100644
> > --- a/arch/powerpc/Kconfig.debug
> > +++ b/arch/powerpc/Kconfig.debug
> > @@ -361,6 +361,25 @@ config PPC_PTDUMP
> >
> > If you are unsure, say N.
> >
> > +config DEBUG_WX
>
> I would call it PPC_DEBUG_WX to avoid confusion.
It's the same functionality as on other architectures and is an arch-
local thing, I personally think it should be left as-is but given we
already put the PPC prefix on PTDUMP, I'll add it so it's consistent
<snip>
> > + if (radix_enabled())
> > + st.start_address = PAGE_OFFSET;
> > + else
> + st.start_address = KERN_VIRT_START;
>
> KERN_VIRT_START doesn't exist on PPC32.
>
> Christophe
>
Thanks a lot for the review! Applied all your suggestions. What
should I use on PPC32 instead?
- Russell
More information about the Linuxppc-dev
mailing list