From: Stefan Liebler Date: Thu, 16 Dec 2021 11:47:11 +0000 (+0100) Subject: Fix __minimal_malloc segfaults in __mmap due to stack-protector X-Git-Tag: glibc-2.35~231 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff3cb03f38f851bbb066206573dc68914920be0a;p=platform%2Fupstream%2Fglibc.git Fix __minimal_malloc segfaults in __mmap due to stack-protector Starting with commit b05fae4d8e34604a72ee36d2d3164391b76fcf0b "elf: Use the minimal malloc on tunables_strdup", I get lots of segfaults in static tests on s390x when also using, e.g.: export GLIBC_TUNABLES="glibc.elision.enable=1" tunables_strdup callls __minimal_malloc which tries to call __mmap due to insufficient space left. __mmap itself first setups a new stack frame and segfaults when copying the stack-protector canary from thread-pointer. The latter one is not yet setup. Thus this patch also turns off stack-protection for mmap. Reviewed-by: Siddhesh Poyarekar --- diff --git a/misc/Makefile b/misc/Makefile index 3b66cb9..db40312 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -149,6 +149,10 @@ CFLAGS-sbrk.o = $(no-stack-protector) CFLAGS-sbrk.op = $(no-stack-protector) CFLAGS-brk.o = $(no-stack-protector) CFLAGS-brk.op = $(no-stack-protector) +CFLAGS-mmap.o = $(no-stack-protector) +CFLAGS-mmap.op = $(no-stack-protector) +CFLAGS-mmap64.o = $(no-stack-protector) +CFLAGS-mmap64.op = $(no-stack-protector) include ../Rules