glibc/sysdeps/unix/sysv/linux/aarch64
Szabolcs Nagy 9ad3d9267d aarch64: Add glibc.cpu.aarch64_gcs tunable
This tunable controls Guarded Control Stack (GCS) for the process.

0 = disabled: do not enable GCS
1 = enforced: check markings and fail if any binary is not marked
2 = optional: check markings but keep GCS off if a binary is unmarked
3 = override: enable GCS, markings are ignored

By default it is 0, so GCS is disabled, value 1 will enable GCS.

The status is stored into GL(dl_aarch64_gcs) early and only applied
later, since enabling GCS is tricky: it must happen on a top level
stack frame. Using GL instead of GLRO because it may need updates
depending on loaded libraries that happen after readonly protection
is applied, however library marking based GCS setting is not yet
implemented.

Describe new tunable in the manual.

Co-authored-by: Yury Khrustalev <yury.khrustalev@arm.com>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2025-01-20 09:31:33 +00:00
..
bits Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sys Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Implies
Makefile AArch64: Add support for memory protection keys 2024-11-20 11:30:58 +00:00
Versions
arch-pkey.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
arch-syscall.h Update syscall lists for Linux 6.10 2024-07-30 08:48:51 -03:00
c++-types.data
clone.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
clone3.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
configure configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
configure.ac
cpu-features.c aarch64: Add glibc.cpu.aarch64_gcs tunable 2025-01-20 09:31:33 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dl-procruntime.c aarch64: Add glibc.cpu.aarch64_gcs tunable 2025-01-20 09:31:33 +00:00
getcontext.S aarch64: Add GCS support for setcontext 2025-01-20 09:22:41 +00:00
gettimeofday.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ioctl.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
kernel-features.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
kernel_rt_sigframe.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ld.abilist
libBrokenLocale.abilist
libanl.abilist
libc.abilist Linux: Add the sched_setattr and sched_getattr functions 2024-09-11 10:05:08 +02:00
libc_malloc_debug.abilist
libc_sigaction.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libdl.abilist
libm.abilist Implement C23 atan2pi 2024-12-12 20:57:44 +00:00
libmvec.abilist AArch64: Add vector tanpi routines 2025-01-03 21:39:56 +00:00
libnsl.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libthread_db.abilist
libutil.abilist
localplt.data aarch64: Remove ld.so __tls_get_addr plt usage 2024-04-04 17:02:32 -03:00
makecontext.c aarch64: Add GCS support for makecontext 2025-01-20 09:22:41 +00:00
pkey_get.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
pkey_set.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
pointer_guard.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
readelflib.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
send.c
setcontext.S aarch64: Add GCS support for makecontext 2025-01-20 09:22:41 +00:00
shlib-versions
sigcontextinfo.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
single-thread.h
swapcontext.S aarch64: Add GCS support for setcontext 2025-01-20 09:22:41 +00:00
syscall.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
syscall_cancel.S Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysconf.c aarch64: Use 64-bit variable to access the special registers 2025-01-13 10:17:38 -03:00
sysdep.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-aarch64-pkey.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
ucontext-internal.h aarch64: Add GCS support for setcontext 2025-01-20 09:22:41 +00:00
ucontext_i.sym
vfork.S aarch64: Add GCS support to vfork 2025-01-20 09:22:41 +00:00
vltest.py Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00