glibc/sysdeps/x86_64
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
..
64 Move architecture shlib-versions files to Linux-specific directories. 2014-07-17 14:31:12 +00:00
fpu x86: Install <sys/platform/x86.h> [BZ #26124] 2020-09-11 17:20:52 -07:00
multiarch x86: Install <sys/platform/x86.h> [BZ #26124] 2020-09-11 17:20:52 -07:00
nptl aarch64: enforce >=64K guard size [BZ #26691] 2020-10-02 09:57:44 +01:00
x32 Remove unused floating-point configuration from gmp-impl.h. 2020-04-28 15:05:09 +00:00
____longjmp_chk.S ____longjmp_chk is now OS-specific. 2009-07-30 21:42:27 -07:00
__longjmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_mcount.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
abort-instr.h
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
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
bzero.S Make an empty file. 2007-10-16 05:59:15 +00:00
configure x86-64: Compile branred.c with -mprefer-vector-width=128 [BZ #24603] 2019-07-24 14:48:43 -07:00
configure.ac x86-64: Compile branred.c with -mprefer-vector-width=128 [BZ #24603] 2019-07-24 14:48:43 -07: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-machine.h x86: Support usable check for all CPU features 2020-07-13 06:05:16 -07:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
dl-runtime.h dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00
dl-tls.c 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.h 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
ffs.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ffsll.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
htonl.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ifuncmain8.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ifuncmod8.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Implies Add float128 support for x86_64, x86. 2017-06-26 22:02:24 +00:00
isa.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +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
l10nflist.c Minor optimization of popcount in l10nflist 2011-08-11 14:07:04 -04:00
link-defines.sym Replace __int128 with __int128_t 2014-05-30 10:50:21 -07:00
locale-defines.sym Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
localplt.data ld.so: Do not export free/calloc/malloc/realloc functions [BZ #25486] 2020-02-15 11:01:23 +01: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 x86: Support usable check for all CPU features 2020-07-13 06:05:16 -07:00
memchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy_chk.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memcpy.S X86-64: Remove previous default/SSE2/AVX2 memcpy/memmove 2016-06-08 13:58:08 -07:00
memmove_chk.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memmove.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mempcpy_chk.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
mempcpy.S X86-64: Remove previous default/SSE2/AVX2 memcpy/memmove 2016-06-08 13:58:08 -07:00
memrchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
memset_chk.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
mp_clz_tab.c * sysdeps/x86_64/mp_clz_tab.c: New file. 2009-04-15 04:30:41 +00:00
mul_1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
preconfigure rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
preconfigure.ac rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
rawmemchr.S 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
rtld-offsets.sym x86-64: Align the stack in __tls_get_addr [BZ #21609] 2017-07-06 04:43:20 -07:00
sched_cpucount.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
stack-aliasing.h Clean up stack-coloring macros. 2014-06-20 19:50:16 -07:00
stackguard-macros.h BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04: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
stpcpy.S Update. 2004-05-28 06:56:51 +00:00
strcasecmp_l-nonascii.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
strcasecmp_l.S Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
strcasecmp.S Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
strcat.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strchrnul.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
strcpy.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strcspn.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strlen.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strncase_l-nonascii.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
strncase_l.S Add optimized strncasecmp versions for x86-64. 2010-08-14 22:04:01 -07:00
strncase.S Add optimized strncasecmp versions for x86-64. 2010-08-14 22:04:01 -07:00
strncmp.S Add SSE2 support to str{,n}cmp for x86-64. 2009-07-26 13:32:28 -07:00
strnlen.S Faster strlen on x64. 2013-03-18 07:39:12 +01:00
strpbrk.S x86-64: Implement strcspn/strpbrk/strspn IFUNC selectors in C 2017-06-15 08:59:05 -07:00
strrchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
strspn.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
sysdep.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tls_get_addr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tls-macros.h Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
tlsdesc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tlsdesc.sym x86-64: Align the stack in __tls_get_addr [BZ #21609] 2017-07-06 04:43:20 -07:00
tst-audit3.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-audit4-aux.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-audit4.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-audit5.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-audit6.c Modify several tests to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-audit7.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit10-aux.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-audit10.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-auditmod3a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod3b.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod4a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod4b.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod5a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod5b.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod6a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod6b.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod6c.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod7a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod7b.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-auditmod10a.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-auditmod10b.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-avx512-aux.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-avx512.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-avx512mod.c x86-64: Verify that _dl_runtime_resolve preserves vector registers 2017-02-09 12:19:58 -08:00
tst-avx-aux.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-avx.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-avxmod.c x86-64: Verify that _dl_runtime_resolve preserves vector registers 2017-02-09 12:19:58 -08:00
tst-mallocalign1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-platform-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-platformmod-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-platformmod-2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-quad1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-quad1pie.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quad2.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quad2pie.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quadmod1.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-quadmod1pie.S Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quadmod2.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-quadmod2pie.S Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-split-dynreloc.c Fix dynamic linker issue with bind-now 2015-08-19 05:37:01 -07:00
tst-split-dynreloc.lds Fix dynamic linker issue with bind-now 2015-08-19 05:37:01 -07:00
tst-sse.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ssemod.c x86-64: Verify that _dl_runtime_resolve preserves vector registers 2017-02-09 12:19:58 -08:00
tst-stack-align.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-x86_64-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-x86_64mod-1.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions Move __fentry__ version definition to sysdeps/{i386,x86_64} 2018-08-10 09:07:44 +02:00
wcschr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wcscmp.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wcslen.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wcsrchr.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wmemset_chk.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wmemset.S x86-64: Optimize wmemset with SSE2/AVX2/AVX512 2017-06-05 11:09:59 -07:00
wordcopy.c X86-64: Add dummy memcopy.h and wordcopy.c 2016-06-09 04:38:34 -07:00