mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
mm/mseal: fix mseal documentation for 32-bit kernels
mseal.o is built only for 64-bit kernels, so 32-bit kernels fall back to sys_ni_syscall() and return -ENOSYS rather than -EPERM. Drop architecture description in mseal.rst, since the arch feature doc has the latest state of mseal for each architecture. Fix the CONFIG_MSEAL_SYSTEM_MAPPINGS typo in init/Kconfig. Link: https://lore.kernel.org/20260715131258.55499-1-leon.hwang@linux.dev Signed-off-by: Leon Hwang <leon.hwang@linux.dev> Acked-by: Lance Yang <lance.yang@linux.dev> Cc: Alice Ryhl <aliceryhl@google.com> Cc: Anand Moon <linux.amoon@gmail.com> Cc: Doug Anderson <dianders@chromium.org> Cc: Gary Guo <gary@garyguo.net> Cc: Jann Horn <jannh@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Leon Hwang <leon.hwang@linux.dev> Cc: Liam R. Howlett <liam@infradead.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: Miguel Ojeda <ojeda@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Pedro Falcato <pfalcato@suse.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Cc: Vlastimil Babka <vbabka@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
1b300f679a
commit
e474ac24a7
@@ -50,8 +50,8 @@ mseal syscall signature
|
||||
* The start address (``addr``) is not allocated.
|
||||
* The end address (``addr`` + ``len``) is not allocated.
|
||||
* A gap (unallocated memory) between start and end address.
|
||||
- **-EPERM**:
|
||||
* sealing is supported only on 64-bit CPUs, 32-bit is not supported.
|
||||
- **-ENOSYS**:
|
||||
* The kernel does not implement ``mseal()``.
|
||||
|
||||
**Note about error return**:
|
||||
- For above error cases, users can expect the given memory range is
|
||||
@@ -62,7 +62,8 @@ mseal syscall signature
|
||||
memory range could happen. However, those cases should be rare.
|
||||
|
||||
**Architecture support**:
|
||||
mseal only works on 64-bit CPUs, not 32-bit CPUs.
|
||||
mseal is built only for 64-bit kernels. 32-bit kernels return
|
||||
``-ENOSYS``.
|
||||
|
||||
**Idempotent**:
|
||||
users can call mseal multiple times. mseal on an already sealed memory
|
||||
@@ -131,11 +132,11 @@ Use cases
|
||||
- Chrome browser: protect some security sensitive data structures.
|
||||
|
||||
- System mappings:
|
||||
The system mappings are created by the kernel and includes vdso, vvar,
|
||||
The system mappings are created by the kernel and include vdso, vvar,
|
||||
vvar_vclock, vectors (arm compat-mode), sigpage (arm compat-mode), uprobes.
|
||||
|
||||
Those system mappings are readonly only or execute only, memory sealing can
|
||||
protect them from ever changing to writable or unmmap/remapped as different
|
||||
protect them from ever changing to writable or unmapped/remapped as different
|
||||
attributes. This is useful to mitigate memory corruption issues where a
|
||||
corrupted pointer is passed to a memory management system.
|
||||
|
||||
@@ -143,9 +144,6 @@ Use cases
|
||||
the CONFIG_MSEAL_SYSTEM_MAPPINGS seals all system mappings of this
|
||||
architecture.
|
||||
|
||||
The following architectures currently support this feature: x86-64, arm64,
|
||||
loongarch and s390.
|
||||
|
||||
WARNING: This feature breaks programs which rely on relocating
|
||||
or unmapping system mappings. Known broken software at the time
|
||||
of writing includes CHECKPOINT_RESTORE, UML, gVisor, rr. Therefore
|
||||
|
||||
+1
-1
@@ -2123,7 +2123,7 @@ config ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS
|
||||
from a kernel perspective.
|
||||
|
||||
After the architecture enables this, a distribution can set
|
||||
CONFIG_MSEAL_SYSTEM_MAPPING to manage access to the feature.
|
||||
CONFIG_MSEAL_SYSTEM_MAPPINGS to manage access to the feature.
|
||||
|
||||
For complete descriptions of memory sealing, please see
|
||||
Documentation/userspace-api/mseal.rst
|
||||
|
||||
Reference in New Issue
Block a user