6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Zev Weiss zev@bewilderbeest.net
commit 166ce846dc5974a266f6c2a2896dbef5425a6f21 upstream.
On v5 and lower CPUs we can't provide MDWE protection, so ensure we fail any attempt to enable it via prctl(PR_SET_MDWE).
Previously such an attempt would misleadingly succeed, leading to any subsequent mmap(PROT_READ|PROT_WRITE) or execve() failing unconditionally (the latter somewhat violently via force_fatal_sig(SIGSEGV) due to READ_IMPLIES_EXEC).
Link: https://lkml.kernel.org/r/20240227013546.15769-6-zev@bewilderbeest.net Signed-off-by: Zev Weiss zev@bewilderbeest.net Cc: stable@vger.kernel.org [6.3+] Cc: Borislav Petkov bp@alien8.de Cc: David Hildenbrand david@redhat.com Cc: Florent Revest revest@chromium.org Cc: Helge Deller deller@gmx.de Cc: "James E.J. Bottomley" James.Bottomley@HansenPartnership.com Cc: Josh Triplett josh@joshtriplett.org Cc: Kees Cook keescook@chromium.org Cc: Miguel Ojeda ojeda@kernel.org Cc: Mike Rapoport (IBM) rppt@kernel.org Cc: Oleg Nesterov oleg@redhat.com Cc: Ondrej Mosnacek omosnace@redhat.com Cc: Rick Edgecombe rick.p.edgecombe@intel.com Cc: Russell King (Oracle) linux@armlinux.org.uk Cc: Sam James sam@gentoo.org Cc: Stefan Roesch shr@devkernel.io Cc: Yang Shi yang@os.amperecomputing.com Cc: Yin Fengwei fengwei.yin@intel.com Signed-off-by: Andrew Morton akpm@linux-foundation.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- arch/arm/include/asm/mman.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 arch/arm/include/asm/mman.h
--- /dev/null +++ b/arch/arm/include/asm/mman.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __ASM_MMAN_H__ +#define __ASM_MMAN_H__ + +#include <asm/system_info.h> +#include <uapi/asm/mman.h> + +static inline bool arch_memory_deny_write_exec_supported(void) +{ + return cpu_architecture() >= CPU_ARCH_ARMv6; +} +#define arch_memory_deny_write_exec_supported arch_memory_deny_write_exec_supported + +#endif /* __ASM_MMAN_H__ */