Commit b37981ce authored by Yuli Wang's avatar Yuli Wang Committed by Huacai Chen
Browse files

LoongArch: Enable ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS

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/


Acked-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Acked-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: default avatarJeff Xu <jeffxu@chromium.org>
Tested-by: default avatarYuli Wang <wangyuli@uniontech.com>
Signed-off-by: default avatarYuli Wang <wangyuli@uniontech.com>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 93f43731
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
    |       arm64: |  ok  |
    |        csky: |  N/A |
    |     hexagon: |  N/A |
    |   loongarch: | TODO |
    |   loongarch: |  ok  |
    |        m68k: |  N/A |
    |  microblaze: |  N/A |
    |        mips: | TODO |
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+3 −1
Original line number Diff line number Diff line
@@ -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);