| From: Heiko Carstens <hca@linux.ibm.com> |
| Subject: mseal sysmap: enable s390 |
| Date: Tue, 11 Mar 2025 13:33:26 +0100 |
| |
| Provide support for CONFIG_MSEAL_SYSTEM_MAPPINGS on s390, covering the |
| vdso. |
| |
| [hca@linux.ibm.com: update supported architectures] |
| Link: https://lkml.kernel.org/r/20250317131917.1332402-1-hca@linux.ibm.com |
| Link: https://lkml.kernel.org/r/20250311123326.2686682-3-hca@linux.ibm.com |
| Signed-off-by: Heiko Carstens <hca@linux.ibm.com> |
| Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> |
| Cc: Alexander Gordeev <agordeev@linux.ibm.com> |
| Cc: Christian Borntraeger <borntraeger@linux.ibm.com> |
| Cc: Jeff Xu <jeffxu@chromium.org> |
| Cc: Liam Howlett <liam.howlett@oracle.com> |
| Cc: Sven Schnelle <svens@linux.ibm.com> |
| Cc: Thomas Weißschuh <thomas.weissschuh@linutronix.de> |
| Cc: Vasily Gorbik <gor@linux.ibm.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/userspace-api/mseal.rst | 3 ++- |
| arch/s390/Kconfig | 1 + |
| arch/s390/kernel/vdso.c | 2 +- |
| 3 files changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/arch/s390/Kconfig~mseal-sysmap-enable-s390 |
| +++ a/arch/s390/Kconfig |
| @@ -137,6 +137,7 @@ config S390 |
| select ARCH_SUPPORTS_DEBUG_PAGEALLOC |
| select ARCH_SUPPORTS_HUGETLBFS |
| select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && CC_IS_CLANG |
| + select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS |
| select ARCH_SUPPORTS_NUMA_BALANCING |
| select ARCH_SUPPORTS_PER_VMA_LOCK |
| select ARCH_USE_BUILTIN_BSWAP |
| --- a/arch/s390/kernel/vdso.c~mseal-sysmap-enable-s390 |
| +++ a/arch/s390/kernel/vdso.c |
| @@ -80,7 +80,7 @@ static int map_vdso(unsigned long addr, |
| vdso_text_start = vvar_start + VDSO_NR_PAGES * PAGE_SIZE; |
| /* VM_MAYWRITE for COW so gdb can set breakpoints */ |
| vma = _install_special_mapping(mm, vdso_text_start, vdso_text_len, |
| - VM_READ|VM_EXEC| |
| + VM_READ|VM_EXEC|VM_SEALED_SYSMAP| |
| VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC, |
| vdso_mapping); |
| if (IS_ERR(vma)) { |
| --- a/Documentation/userspace-api/mseal.rst~mseal-sysmap-enable-s390 |
| +++ a/Documentation/userspace-api/mseal.rst |
| @@ -143,7 +143,8 @@ Use cases |
| the CONFIG_MSEAL_SYSTEM_MAPPINGS seals all system mappings of this |
| architecture. |
| |
| - The following architectures currently support this feature: x86-64 and arm64. |
| + The following architectures currently support this feature: x86-64, arm64, |
| + and s390. |
| |
| WARNING: This feature breaks programs which rely on relocating |
| or unmapping system mappings. Known broken software at the time |
| _ |