[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <648AB3031B5618C0+20250415153903.570662-1-wangyuli@uniontech.com>
Date: Tue, 15 Apr 2025 23:39:03 +0800
From: WangYuli <wangyuli@...ontech.com>
To: corbet@....net,
chenhuacai@...nel.org,
kernel@...0n.name
Cc: akpm@...ux-foundation.org,
jeffxu@...omium.org,
lorenzo.stoakes@...cle.com,
Liam.Howlett@...cle.com,
kees@...nel.org,
wangyuli@...ontech.com,
hca@...ux.ibm.com,
linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org,
loongarch@...ts.linux.dev,
xry111@...111.site,
tglx@...utronix.de,
thomas.weissschuh@...utronix.de,
Jason@...c4.com,
zhanjun@...ontech.com,
niecheng1@...ontech.com,
guanwentao@...ontech.com
Subject: [PATCH v2] mseal sysmap: enable LoongArch
Provide support for CONFIG_MSEAL_SYSTEM_MAPPINGS on LoongArch,
covering the vdso.
Link: https://lore.kernel.org/all/25bad37f-273e-4626-999c-e1890be96182@lucifer.local/
Tested-by: Yuli Wang <wangyuli@...ontech.com>
Signed-off-by: Yuli Wang <wangyuli@...ontech.com>
---
Changelog:
*v1->v2: Modify mseal_sys_mappings/arch-support.txt.
---
.../features/core/mseal_sys_mappings/arch-support.txt | 2 +-
Documentation/userspace-api/mseal.rst | 2 +-
arch/loongarch/Kconfig | 1 +
arch/loongarch/kernel/vdso.c | 4 +++-
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/Documentation/features/core/mseal_sys_mappings/arch-support.txt b/Documentation/features/core/mseal_sys_mappings/arch-support.txt
index c6cab9760d57..a3c24233eb9b 100644
--- a/Documentation/features/core/mseal_sys_mappings/arch-support.txt
+++ b/Documentation/features/core/mseal_sys_mappings/arch-support.txt
@@ -12,7 +12,7 @@
| arm64: | ok |
| csky: | N/A |
| hexagon: | N/A |
- | loongarch: | TODO |
+ | loongarch: | ok |
| m68k: | N/A |
| microblaze: | N/A |
| mips: | TODO |
diff --git a/Documentation/userspace-api/mseal.rst b/Documentation/userspace-api/mseal.rst
index 1dabfc29be0d..ef733f69003d 100644
--- a/Documentation/userspace-api/mseal.rst
+++ b/Documentation/userspace-api/mseal.rst
@@ -144,7 +144,7 @@ Use cases
architecture.
The following architectures currently support this feature: x86-64, arm64,
- and s390.
+ loongarch and s390.
WARNING: This feature breaks programs which rely on relocating
or unmapping system mappings. Known broken software at the time
diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index 067c0b994648..54ed5b59a690 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -69,6 +69,7 @@ config LOONGARCH
select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
select ARCH_SUPPORTS_LTO_CLANG
select ARCH_SUPPORTS_LTO_CLANG_THIN
+ select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS
select ARCH_SUPPORTS_NUMA_BALANCING
select ARCH_SUPPORTS_RT
select ARCH_USE_BUILTIN_BSWAP
diff --git a/arch/loongarch/kernel/vdso.c b/arch/loongarch/kernel/vdso.c
index 10cf1608c7b3..7b888d9085a0 100644
--- a/arch/loongarch/kernel/vdso.c
+++ b/arch/loongarch/kernel/vdso.c
@@ -105,7 +105,9 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
vdso_addr = data_addr + VVAR_SIZE;
vma = _install_special_mapping(mm, vdso_addr, info->size,
- VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC,
+ VM_READ | VM_EXEC |
+ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC |
+ VM_SEALED_SYSMAP,
&info->code_mapping);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
--
2.49.0
Powered by blists - more mailing lists