[PATCH v4 1/2] arm64: Support execute-only permissions with Enhanced PAN
Catalin Marinas
catalin.marinas at arm.com
Tue Mar 30 10:30:11 BST 2021
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.
--
Catalin
More information about the linux-arm-kernel
mailing list