twx-linux/include/uapi
Mark Brown 91e102e797 prctl: arch-agnostic prctl for shadow stack
Three architectures (x86, aarch64, riscv) have announced support for
shadow stacks with fairly similar functionality.  While x86 is using
arch_prctl() to control the functionality neither arm64 nor riscv uses
that interface so this patch adds arch-agnostic prctl() support to
get and set status of shadow stacks and lock the current configuation to
prevent further changes, with support for turning on and off individual
subfeatures so applications can limit their exposure to features that
they do not need.  The features are:

  - PR_SHADOW_STACK_ENABLE: Tracking and enforcement of shadow stacks,
    including allocation of a shadow stack if one is not already
    allocated.
  - PR_SHADOW_STACK_WRITE: Writes to specific addresses in the shadow
    stack.
  - PR_SHADOW_STACK_PUSH: Push additional values onto the shadow stack.

These features are expected to be inherited by new threads and cleared
on exec(), unknown features should be rejected for enable but accepted
for locking (in order to allow for future proofing).

This is based on a patch originally written by Deepak Gupta but modified
fairly heavily, support for indirect landing pads is removed, additional
modes added and the locking interface reworked.  The set status prctl()
is also reworked to just set flags, if setting/reading the shadow stack
pointer is required this could be a separate prctl.

Reviewed-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Yury Khrustalev <yury.khrustalev@arm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Deepak Gupta <debug@rivosinc.com>
Link: https://lore.kernel.org/r/20241001-arm64-gcs-v13-4-222b78d87eee@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-10-04 12:04:33 +01:00
..
asm-generic net: add SO_DEVMEM_DONTNEED setsockopt to release RX frags 2024-09-11 20:44:32 -07:00
drm Linux 6.11-rc7 2024-09-11 09:18:15 +02:00
linux prctl: arch-agnostic prctl for shadow stack 2024-10-04 12:04:33 +01:00
misc Revert "misc: fastrpc: Restrict untrusted app to attach to privileged PD" 2024-08-15 16:59:14 +02:00
mtd
rdma RDMA/nldev: Expose whether RDMA monitoring is supported 2024-09-13 08:29:34 +03:00
regulator
scsi scsi: mpi3mr: Add ioctl support for HDB 2024-06-26 23:30:09 -04:00
sound Merge branch 'for-linus' into for-next 2024-09-10 10:28:00 +02:00
video
xen xen/privcmd: Add new syscall to get gsi from dev 2024-09-25 09:54:55 +02:00
Kbuild