[PATCH v4 1/2] arm64: Support execute-only permissions with Enhanced PAN
Geert Uytterhoeven
geert at linux-m68k.org
Tue Mar 30 10:34:39 BST 2021
Hi Catalin,
On Tue, Mar 30, 2021 at 11:30 AM Catalin Marinas
<catalin.marinas at arm.com> wrote:
> On Tue, Mar 30, 2021 at 10:47:31AM +0200, Geert Uytterhoeven wrote:
> > On Fri, Mar 12, 2021 at 6:47 PM Vladimir Murzin <vladimir.murzin at arm.com> wrote:
> > > Enhanced Privileged Access Never (EPAN) allows Privileged Access Never
> > > to be used with Execute-only mappings.
> > >
> > > Absence of such support was a reason for 24cecc377463 ("arm64: Revert
> > > support for execute-only user mappings"). Thus now it can be revisited
> > > and re-enabled.
> > >
> > > Cc: Kees Cook <keescook at chromium.org>
> > > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > > Signed-off-by: Vladimir Murzin <vladimir.murzin at arm.com>
> >
> > Thanks for your patch, which is now commit 18107f8a2df6bf1c ("arm64:
> > Support execute-only permissions with Enhanced PAN") in arm64/for-next.
> >
> > > --- a/arch/arm64/Kconfig
> > > +++ b/arch/arm64/Kconfig
> > > @@ -1060,6 +1060,9 @@ config ARCH_WANT_HUGE_PMD_SHARE
> > > config ARCH_HAS_CACHE_LINE_SIZE
> > > def_bool y
> > >
> > > +config ARCH_HAS_FILTER_PGPROT
> > > + def_bool y
> > > +
> > > config ARCH_ENABLE_SPLIT_PMD_PTLOCK
> > > def_bool y if PGTABLE_LEVELS > 2
> > >
> > > @@ -1683,6 +1686,20 @@ config ARM64_MTE
> > >
> > > endmenu
> > >
> > > +menu "ARMv8.7 architectural features"
> > > +
> > > +config ARM64_EPAN
> > > + bool "Enable support for Enhanced Privileged Access Never (EPAN)"
> > > + default y
> > > + depends on ARM64_PAN
> > > + help
> > > + Enhanced Privileged Access Never (EPAN) allows Privileged
> > > + Access Never to be used with Execute-only mappings.
> >
> > Does EPAN require more hardware support than PAN, which is part of the
> > ARMv8.1 Extensions according to the help text for ARM64_PAN?
> > If yes, it is a good idea to document that here, so people know if it
> > makes sense to enable this option for their hardware.
>
> The ARM64_EPAN option is under the "ARMv8.7 architectural features" as
> it's a new CPU feature (same as PAN but also works on exec-only user
> mappings). We could expand this text a bit to include ARMv8.7 as we do
> for ARM64_PAN, if that's what you meant.
Thank you, I completely missed that menu header when running "make
oldconfig".
Sorry for the noise.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the linux-arm-kernel
mailing list