From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1944) id A976B385D0EC; Wed, 26 Oct 2022 15:04:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A976B385D0EC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1666796693; bh=+KISDyvv+Hg2NlmQ3h6rT4y4rxjo9FisuIFuC27P1Do=; h=From:To:Subject:Date:From; b=X10G4cyukHTxtfHQge31wOdKYjChHAV/n/heubhitBp84/yAiEHv2GBbgVAzE8NWq KO5045px4hXmbAYIf452j/38YS6LRPWhoVBtbpdHJSOyLrlidXgL8V0S59EqMK55EY me28KE6LvdspC+MSv4Ao9K5hA9nuYyeIRw8o4xOU= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Szabolcs Nagy To: glibc-cvs@sourceware.org Subject: [glibc/arm/morello/main] alpha: Fix generic brk system call emulation in __brk_call (bug 29490) X-Act-Checkin: glibc X-Git-Author: Florian Weimer X-Git-Refname: refs/heads/arm/morello/main X-Git-Oldrev: e982657073c4db21459ffd9e17bc505b1d64b876 X-Git-Newrev: 8b139cd4f1074ae0d95d9bff60db283a1ed72734 Message-Id: <20221026150453.A976B385D0EC@sourceware.org> Date: Wed, 26 Oct 2022 15:04:52 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8b139cd4f1074ae0d95d9bff60db283a1ed72734 commit 8b139cd4f1074ae0d95d9bff60db283a1ed72734 Author: Florian Weimer Date: Mon Aug 22 11:04:47 2022 +0200 alpha: Fix generic brk system call emulation in __brk_call (bug 29490) The kernel special-cases the zero argument for alpha brk, and we can use that to restore the generic Linux error handling behavior. Fixes commit b57ab258c1140bc45464b4b9908713e3e0ee35aa ("Linux: Introduce __brk_call for invoking the brk system call"). (cherry picked from commit e7ad26ee3cb74e61d0637c888f24dd478d77af58) Diff: --- NEWS | 1 + sysdeps/unix/sysv/linux/alpha/brk_call.h | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index f8fb8db510..becab3ade9 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ The following bugs are resolved with this release: [29446] _dlopen now ignores dl_caller argument in static mode [29485] Linux: Terminate subprocess on late failure in tst-pidfd + [29490] alpha: New __brk_call implementation is broken Version 2.36 diff --git a/sysdeps/unix/sysv/linux/alpha/brk_call.h b/sysdeps/unix/sysv/linux/alpha/brk_call.h index b8088cf13f..0b851b6c86 100644 --- a/sysdeps/unix/sysv/linux/alpha/brk_call.h +++ b/sysdeps/unix/sysv/linux/alpha/brk_call.h @@ -21,8 +21,7 @@ __brk_call (void *addr) { unsigned long int result = INTERNAL_SYSCALL_CALL (brk, addr); if (result == -ENOMEM) - /* Mimic the default error reporting behavior. */ - return addr; - else - return (void *) result; + /* Mimic the generic error reporting behavior. */ + result = INTERNAL_SYSCALL_CALL (brk, 0); + return (void *) result; }