[PATCH v4 0/2] aarch64: Support locking GCS
Yury Khrustalev
yury.khrustalev@arm.com
Mon Feb 16 17:25:43 GMT 2026
Lock GCS if it is enabled based on the existing tunable
glibc.cpu.aarch64_gcs unless selected GCS policy is OPTIONAL
in which case do not lock GCS.
This is a compromise implementation compared to full control
over locking GCS features described in [1].
I think this implementation allows back-porting to earlier
Glibc releases, would it be OK to back-port this?
Changes in v4:
- Fixed multiple issues in tests including 2 tests failing without
the configure option --enable-hardcoded-path-in-tests.
- Using different error message after prctl failure for enable GCS
and lock GCS.
- v3: https://inbox.sourceware.org/libc-alpha/20260209115845.1426398-1-yury.khrustalev@arm.com/
---
Passes regression on aarch64. GCS tests checked on Arm Fixed
Virtual Platform (FVP) model [2]. OK for trunk?
Base commit: f5bab97a99
[1]: https://inbox.sourceware.org/libc-help/aXdRdmU95P4tbuES@arm.com/
[2]: https://inbox.sourceware.org/libc-help/aIc3ElNTSQrelCK9@arm.com/
---
Yury Khrustalev (2):
aarch64: Lock GCS status at startup
aarch64: Tests for locking GCS
manual/tunables.texi | 50 ++++--
sysdeps/aarch64/dl-gcs.c | 6 +
sysdeps/aarch64/dl-start.S | 21 ++-
sysdeps/unix/sysv/linux/aarch64/Makefile | 25 +++
sysdeps/unix/sysv/linux/aarch64/libc-start.h | 29 ++-
.../unix/sysv/linux/aarch64/tst-gcs-execv.c | 91 ++++++++++
.../unix/sysv/linux/aarch64/tst-gcs-fork.c | 75 ++++++++
.../unix/sysv/linux/aarch64/tst-gcs-helper.h | 5 +
.../sysv/linux/aarch64/tst-gcs-lock-ptrace.c | 166 ++++++++++++++++++
.../sysv/linux/aarch64/tst-gcs-lock-static.c | 1 +
.../unix/sysv/linux/aarch64/tst-gcs-lock.c | 58 ++++++
.../linux/aarch64/tst-gcs-unlock-static.c | 2 +
.../unix/sysv/linux/aarch64/tst-gcs-unlock.c | 2 +
13 files changed, 505 insertions(+), 26 deletions(-)
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-execv.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-fork.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-lock-ptrace.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-lock-static.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-lock.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-unlock-static.c
create mode 100644 sysdeps/unix/sysv/linux/aarch64/tst-gcs-unlock.c
--
2.47.3
More information about the Libc-alpha
mailing list