From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1962) id 0AB7F3858D28; Thu, 16 Dec 2021 14:19:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0AB7F3858D28 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Stefan Liebler To: glibc-cvs@sourceware.org Subject: [glibc] Fix __minimal_malloc segfaults in __mmap due to stack-protector X-Act-Checkin: glibc X-Git-Author: Stefan Liebler X-Git-Refname: refs/heads/master X-Git-Oldrev: ae23fa3e5fe24daf94fc7f8e5268bb8ceeda7477 X-Git-Newrev: ff3cb03f38f851bbb066206573dc68914920be0a Message-Id: <20211216141946.0AB7F3858D28@sourceware.org> Date: Thu, 16 Dec 2021 14:19:46 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Dec 2021 14:19:46 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ff3cb03f38f851bbb066206573dc68914920be0a commit ff3cb03f38f851bbb066206573dc68914920be0a Author: Stefan Liebler Date: Thu Dec 16 12:47:11 2021 +0100 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: --- misc/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/misc/Makefile b/misc/Makefile index 3b66cb9f6a..db40312ba9 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