glibc/sysdeps/mips
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
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fpu mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
ieee754 Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 2020-04-30 08:52:08 -05:00
include/sys Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mips32 mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
mips64 mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
nofpu Do not define various fenv.h macros for MIPS soft-float (bug 23479). 2018-08-02 15:53:29 +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.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
abort-instr.h Move mips from ports to libc. 2014-02-10 23:30:21 +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
atomic-machine.h 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 Require autoconf 2.69 2014-09-29 07:53:36 -07:00
configure.ac Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-machine-reject-phdr.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-machine.h elf: Introduce <elf_machine_sym_no_match.h> 2020-04-24 22:13:03 +02:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-procinfo.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-trampoline.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
elf_machine_sym_no_match.h elf: Introduce <elf_machine_sym_no_match.h> 2020-04-24 22:13:03 +02:00
elf-initfini.h Introduce <elf-initfini.h> and ELF_INITFINI for all architectures 2020-02-18 15:12:25 +01:00
fpregdef.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
gccframe.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Implies Move mips from ports to libc. 2014-02-10 23:30:21 +00: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-tls.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
linkmap.h MIPS support for GNU hash 2019-08-29 20:11:42 +00:00
localplt.data Add localplt.data for MIPS. 2016-11-04 16:40:54 +00:00
lshift.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile [MIPS] Raise highest supported EI_ABIVERSION value [BZ #24916] 2019-08-23 16:47:27 +00:00
math-tests-snan-payload.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy.S 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
mul_1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
nan-high-order-bit.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
preconfigure Remove --with-fp / --without-fp. 2017-12-12 13:56:47 +00:00
regdef.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
rshift.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
setjmp_aux.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
sgidefs.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +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 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sub_n.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
submul_1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tininess.h Move mips from ports to libc. 2014-02-10 23:30:21 +00:00
tls-macros.h MIPS: Only use .set mips* assembler directives when necessary 2015-09-08 16:52:43 +01:00
tst-abi-fp32mod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-abi-fp64amod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-abi-fp64mod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-abi-fpxxmod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-abi-fpxxomod.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-abi-interlink.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
tst-mode-switch-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-mode-switch-2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-mode-switch-3.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-undefined-weak-lib.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-undefined-weak.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00