From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1039) id A3D323857348; Tue, 19 Dec 2023 14:58:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A3D323857348 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1702997922; bh=bQhWR86F+UH1QQfXMYb36MwB10EpLREgRnjc/119kCY=; h=From:To:Subject:Date:From; b=wTYLSaGU1xR2vNlVX7gq26lQlbELy5GSHwXXjQAWUKoeE47+nqqPnSD197i6d8JcT S33pSlXVpeQbYEuhWsvn/HhOQkU3Eq0jHsDi3IHuRysjGUFOCw2+BizOu7gArw9Mya IUQ6xJElcgVe1IHbGJ6NhScWRxSuQfJZypmRk3No= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: H.J. Lu To: glibc-cvs@sourceware.org Subject: [glibc] x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode X-Act-Checkin: glibc X-Git-Author: H.J. Lu X-Git-Refname: refs/heads/master X-Git-Oldrev: 28bd6f832d4c8ec9a223c153427c1ab6fd19a548 X-Git-Newrev: 4d8a01d2b0963f7c7714ff53c313430599f0722f Message-Id: <20231219145842.A3D323857348@sourceware.org> Date: Tue, 19 Dec 2023 14:58:42 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4d8a01d2b0963f7c7714ff53c313430599f0722f commit 4d8a01d2b0963f7c7714ff53c313430599f0722f Author: H.J. Lu Date: Tue Mar 28 13:52:36 2023 -0700 x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode Verify that CPU_FEATURE_ACTIVE works properly in permissive mode. Diff: --- sysdeps/x86/Makefile | 1 + sysdeps/x86/tst-cet-legacy-4.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile index 1bf6ff9e11..6911a07a87 100644 --- a/sysdeps/x86/Makefile +++ b/sysdeps/x86/Makefile @@ -219,6 +219,7 @@ CFLAGS-tst-cet-legacy-mod-1.c += -fcf-protection=none CFLAGS-tst-cet-legacy-mod-2.c += -fcf-protection=none CFLAGS-tst-cet-legacy-3.c += -fcf-protection=none CFLAGS-tst-cet-legacy-4.c += -fcf-protection=branch +CPPFLAGS-tst-cet-legacy-4a.c += -DCET_IS_PERMISSIVE=1 CFLAGS-tst-cet-legacy-4a.c += -fcf-protection CFLAGS-tst-cet-legacy-4b.c += -fcf-protection CFLAGS-tst-cet-legacy-mod-4.c += -fcf-protection=none diff --git a/sysdeps/x86/tst-cet-legacy-4.c b/sysdeps/x86/tst-cet-legacy-4.c index d75fb0e61c..c098120253 100644 --- a/sysdeps/x86/tst-cet-legacy-4.c +++ b/sysdeps/x86/tst-cet-legacy-4.c @@ -21,6 +21,7 @@ #include #include #include +#include #include @@ -40,6 +41,10 @@ do_test (void) return 0; } +#ifdef CET_IS_PERMISSIVE + TEST_VERIFY (!CPU_FEATURE_ACTIVE (IBT) && !CPU_FEATURE_ACTIVE (SHSTK)); +#endif + fp = dlsym (h, "test"); if (fp == NULL) FAIL_EXIT1 ("cannot get symbol 'test': %s\n", dlerror ());