From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2012) id 6B331385843A; Wed, 31 Jan 2024 10:26:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B331385843A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1706696771; bh=fc+edz9JTNxBN7cRTX0jq8eywSrCdqU8/56bbn5ixGY=; h=From:To:Subject:Date:From; b=H2fCg1A6sX219bGknqwsou70J+FPgA+nBLotirYn6/Qg8ldzMDk6PsKqH0FQr8dvF yAuviPEd+7I5oe5UesctnufNSDaDT8agvIFZIFw71pzpmIBtFl5VzaNY47A34uB7mS mkrlHxSShvEXVWfSyjRLOE5dofOY8MeHUevyM224= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Arjun Shankar To: glibc-cvs@sourceware.org Subject: [glibc/release/2.37/master] sysdeps: tst-bz21269: handle ENOSYS & skip appropriately X-Act-Checkin: glibc X-Git-Author: Sam James X-Git-Refname: refs/heads/release/2.37/master X-Git-Oldrev: 32450f6e8d1d807157d3e9d2c003e6be69d30ca3 X-Git-Newrev: f7e97cea20f3ca0966c6b505da953827d2b0891c Message-Id: <20240131102611.6B331385843A@sourceware.org> Date: Wed, 31 Jan 2024 10:26:10 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f7e97cea20f3ca0966c6b505da953827d2b0891c commit f7e97cea20f3ca0966c6b505da953827d2b0891c Author: Sam James Date: Sat Aug 5 00:04:33 2023 +0100 sysdeps: tst-bz21269: handle ENOSYS & skip appropriately SYS_modify_ldt requires CONFIG_MODIFY_LDT_SYSCALL to be set in the kernel, which some distributions may disable for hardening. Check if that's the case (unset) and mark the test as UNSUPPORTED if so. Reviewed-by: DJ Delorie Signed-off-by: Sam James (cherry picked from commit 652b9fdb77d9fd056d4dd26dad2c14142768ab49) Diff: --- sysdeps/unix/sysv/linux/i386/tst-bz21269.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c index f508ef8f16..28f5359bea 100644 --- a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c +++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c @@ -52,7 +52,16 @@ xset_thread_area (struct user_desc *u_info) static void xmodify_ldt (int func, const void *ptr, unsigned long bytecount) { - TEST_VERIFY_EXIT (syscall (SYS_modify_ldt, func, ptr, bytecount) == 0); + long ret = syscall (SYS_modify_ldt, func, ptr, bytecount); + + if (ret == -1) + { + if (errno == ENOSYS) + FAIL_UNSUPPORTED ("modify_ldt not supported"); + FAIL_EXIT1 ("modify_ldt failed (errno=%d)", errno); + } + + return 0; } static int