glibc/sysdeps/arm
Szabolcs Nagy 238032ead6 aarch64: enforce >=64K guard size [BZ #26691]
There are several compiler implementations that allow large stack
allocations to jump over the guard page at the end of the stack and
corrupt memory beyond that. See CVE-2017-1000364.

Compilers can emit code to probe the stack such that the guard page
cannot be skipped, but on aarch64 the probe interval is 64K by default
instead of the minimum supported page size (4K).

This patch enforces at least 64K guard on aarch64 unless the guard
is disabled by setting its size to 0.  For backward compatibility
reasons the increased guard is not reported, so it is only observable
by exhausting the address space or parsing /proc/self/maps on linux.

On other targets the patch has no effect. If the stack probe interval
is larger than a page size on a target then ARCH_MIN_GUARD_SIZE can
be defined to get large enough stack guard on libc allocated stacks.

The patch does not affect threads with user allocated stacks.

Fixes bug 26691.
2020-10-02 09:57:44 +01:00
..
armv6 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
armv6t2 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
armv7 arm: CVE-2020-6096: Fix multiarch memcpy for negative length [BZ #25620] 2020-07-08 14:18:31 +02:00
be arm: Fix softp-fp Implies (BZ #25635) 2020-03-06 09:53:24 -03:00
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
include/bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
le arm: Fix softp-fp Implies (BZ #25635) 2020-03-06 09:53:24 -03:00
nofpu Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
nptl aarch64: enforce >=64K guard size [BZ #26691] 2020-10-02 09:57:44 +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
add_n.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
addmul_1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_assert.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_atexit.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_errno_addr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_lcsts.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_localeconv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_math.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_mb_cur_max.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_memclr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_memcpy.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_memmove.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_memset.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_sighandlers.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
aeabi_unwind_cpp_pr1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
arm-features.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
arm-ifunc.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
arm-mcount.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
arm-unwind-resume.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
backtrace.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bsd-_setjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bsd-setjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
configure Remove configure test for ARM TLS descriptors support. 2015-10-27 23:56:50 +00:00
configure.ac Remove configure test for ARM TLS descriptors support. 2015-10-27 23:56:50 +00:00
crti.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
crtn.S 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-lookupcfg.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +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 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-trampoline.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
elf-initfini.h Introduce <elf-initfini.h> and ELF_INITFINI for all architectures 2020-02-18 15:12:25 +01:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fegetenv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fegetexcept.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fegetmode.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fegetround.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fenv_private.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fesetenv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fesetexcept.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fesetmode.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fesetround.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
feupdateenv.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
find_exidx.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fpu_control.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
framestate.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ftestexcept.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gcc-compat.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Implies Remove sysdeps/arm/soft-fp directory. 2014-10-16 09:54:45 -07:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ldbl-classify-compat.h Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libc-aeabi_read_tp.S ARM: Move more aeabi routine magic out of Linux-specific directories 2014-06-26 15:08:29 -07:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
libm-test-ulps Update arm libm-test-ulps 2020-04-08 13:52:44 -03: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 Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile arm: remove string/tst-memmove-overflow XFAIL 2020-07-16 06:56:52 +02:00
math-tests-trap.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
math-use-builtins-sqrt.h arm: Use sqrt{f} builtin 2020-06-22 11:09:50 -03:00
memcpy.S arm: CVE-2020-6096: fix memcpy and memmove for negative length [BZ #25620] 2020-07-08 14:18:19 +02:00
memmove.S arm: CVE-2020-6096: fix memcpy and memmove for negative length [BZ #25620] 2020-07-08 14:18:19 +02: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
nptl-aeabi_unwind_cpp_pr1.c ARM: Move more aeabi routine magic out of Linux-specific directories 2014-06-26 15:08:29 -07:00
preconfigure arm: Split BE/LE abilist 2019-08-29 09:58:21 -03:00
preconfigure.ac arm: Split BE/LE abilist 2019-08-29 09:58:21 -03:00
pt-arm-unwind-resume.S ARM: Consolidate with generic unwinder wrapper code 2015-01-05 15:42:16 -08:00
rt-aeabi_unwind_cpp_pr1.c ARM: Move more aeabi routine magic out of Linux-specific directories 2014-06-26 15:08:29 -07:00
rt-arm-unwind-resume.S ARM: Consolidate with generic unwinder wrapper code 2015-01-05 15:42:16 -08:00
rtld-global-offsets.sym Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
setfpucw.c 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 Remove sysdeps/arm/soft-fp directory. 2014-10-16 09:54:45 -07: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
stap-probe-machine.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
start.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
static-stubs.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
strlen.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sub_n.S Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
submul_1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-fpucw.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
tls-macros.h ARM: Rewrite sysdeps/arm/tls-macros.h 2015-03-13 10:10:09 -07:00
tlsdesc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.sym Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
tst-armtlsdescextlazy.c [BZ #17075] ARM: Fix immediate calculation of R_ARM_TLS_DESC 2014-06-20 20:22:42 +01:00
tst-armtlsdescextlazymod.c [BZ #17075] ARM: Fix immediate calculation of R_ARM_TLS_DESC 2014-06-20 20:22:42 +01:00
tst-armtlsdescextnow.c [BZ #17075] ARM: Fix immediate calculation of R_ARM_TLS_DESC 2014-06-20 20:22:42 +01:00
tst-armtlsdescextnowmod.c [BZ #17075] ARM: Fix immediate calculation of R_ARM_TLS_DESC 2014-06-20 20:22:42 +01:00
tst-armtlsdescloc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-armtlsdesclocmod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-audit.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
unwind-dw2-fde-glibc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
unwind-pe.c Move arm from ports to libc. 2014-02-08 01:49:39 +00:00
unwind-resume.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
unwind.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions Use -Werror=undef for assembly code. 2015-02-12 13:57:32 -08:00