glibc/sysdeps/aarch64
Szabolcs Nagy cd543b5eb3 aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831]
Re-mmap executable segments if possible instead of using mprotect
to add PROT_BTI. This allows using BTI protection with security
policies that prevent mprotect with PROT_EXEC.

If the fd of the ELF module is not available because it was kernel
mapped then mprotect is used and failures are ignored.  To protect
the main executable even when mprotect is filtered the linux kernel
 will have to be changed to add PROT_BTI to it.

The delayed failure reporting is mainly needed because currently
_dl_process_gnu_properties does not propagate failures such that
the required cleanups happen. Using the link_map_machine struct for
error propagation is not ideal, but this seemed to be the least
intrusive solution.

Fixes bug 26831.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-12-11 15:46:02 +00:00
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fpu aarch64: Remove fpu Makefile 2020-06-22 11:09:50 -03:00
multiarch AArch64: Use __memcpy_simd on Neoverse N2/V1 2020-10-14 14:27:50 +01:00
nptl nptl: Move stack list variables into _rtld_global 2020-11-16 19:33:30 +01:00
sys Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
abort-instr.h
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bsd-_setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
bsd-setjmp.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
configure aarch64: Add variant PCS lazy binding test [BZ #26798] 2020-11-02 09:39:24 +00:00
configure.ac aarch64: Add variant PCS lazy binding test [BZ #26798] 2020-11-02 09:39:24 +00:00
crti.S aarch64: Add pac-ret support to assembly files 2020-07-08 15:02:38 +01:00
crtn.S aarch64: Add pac-ret support to assembly files 2020-07-08 15:02:38 +01:00
dl-bti.c aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831] 2020-12-11 15:46:02 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-link.sym
dl-machine.h aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798] 2020-11-02 09:39:24 +00:00
dl-prop.h aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831] 2020-12-11 15:46:02 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tlsdesc.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-tlsdesc.S aarch64: Add pac-ret support to assembly files 2020-07-08 15:02:38 +01:00
dl-trampoline.S aarch64: Add pac-ret support to assembly files 2020-07-08 15:02:38 +01:00
dl-tunables.list Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
e_sqrtl.c Add libm_alias_finite for _finite symbols 2020-01-03 10:02:04 -03:00
elf-initfini.h Introduce <elf-initfini.h> and ELF_INITFINI for all architectures 2020-02-18 15:12:25 +01:00
Implies Remove sysdeps/aarch64/soft-fp directory. 2018-05-22 17:23:34 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libm-test-ulps aarch64: update ulps. 2020-08-13 13:02:35 +01:00
libm-test-ulps-name Do not hardcode platform names in manual/libm-err-tab.pl (bug 14139). 2016-11-04 16:49:06 +00:00
linkmap.h aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831] 2020-12-11 15:46:02 +00:00
machine-gmon.h aarch64: fix pac-ret support in _mcount 2020-07-08 15:02:38 +01:00
Makefile aarch64: Add variant PCS lazy binding test [BZ #26798] 2020-11-02 09:39:24 +00:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mcount.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memchr.S aarch64: MTE compatible memchr 2020-06-23 17:55:39 +01:00
memcmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy.S [AArch64] Improve integer memcpy 2020-03-11 17:15:25 +00:00
memmove.c aarch64: Rename place holder .S files to .c 2020-07-08 15:02:37 +01:00
memrchr.S aarch64: MTE compatible memrchr 2020-06-23 17:55:39 +01:00
memset-reg.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memset.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memusage.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
preconfigure Remove relro configure test. 2014-06-27 16:51:22 +00:00
rawmemchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
setjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sfp-machine.h Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
start.S aarch64: Add unwind information to _start (bug 26853) 2020-11-09 11:31:04 +01:00
stpcpy.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchr.S aarch64: MTE compatible strchr 2020-06-09 09:20:27 +01:00
strchrnul.S aarch64: MTE compatible strchrnul 2020-06-09 09:20:27 +01:00
strcmp.S aarch64: MTE compatible strcmp 2020-06-23 17:55:39 +01:00
strcpy.S aarch64: MTE compatible strcpy 2020-06-23 17:55:39 +01:00
string_private.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strlen.S aarch64: MTE compatible strlen 2020-06-09 09:21:11 +01:00
strncmp.S aarch64: MTE compatible strncmp 2020-06-23 17:55:39 +01:00
strnlen.S aarch64: fix strcpy and strnlen for big-endian [BZ #25824] 2020-05-15 12:15:56 +01:00
strrchr.S aarch64: MTE compatible strrchr 2020-06-23 17:55:39 +01:00
sysdep.h AArch64: Align ENTRY to a cacheline 2020-07-15 16:50:02 +01:00
tls-macros.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.sym aarch64: Use explicit offsets in _dl_tlsdesc_dynamic 2016-12-02 16:52:57 +01:00
tst-audit.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ifunc-arg-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ifunc-arg-2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-vpcs-mod.S aarch64: Add variant PCS lazy binding test [BZ #26798] 2020-11-02 09:39:24 +00:00
tst-vpcs.c aarch64: Add variant PCS lazy binding test [BZ #26798] 2020-11-02 09:39:24 +00:00
Versions