* [PATCH v2 2/2] selftest/x86: test ARCH_SHSTK_UNLOCK
[not found] <20260707191136.1732277-1-bill.roberts@arm.com>
@ 2026-07-07 19:11 ` Bill Roberts
2026-08-27 23:32 ` Edgecombe, Rick P
0 siblings, 1 reply; 2+ messages in thread
From: Bill Roberts @ 2026-07-07 19:11 UTC (permalink / raw)
To: rick.p.edgecombe, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, H. Peter Anvin, Shuah Khan
Cc: Bill Roberts, linux-kernel, linux-kselftest
Test that ARCH_SHSTK_UNLOCK can't be called from normal (non-ptrace)
context.
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
---
tools/testing/selftests/x86/test_shadow_stack.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/testing/selftests/x86/test_shadow_stack.c b/tools/testing/selftests/x86/test_shadow_stack.c
index 3d6ca33edba4..cbe7ca4ebd90 100644
--- a/tools/testing/selftests/x86/test_shadow_stack.c
+++ b/tools/testing/selftests/x86/test_shadow_stack.c
@@ -1059,6 +1059,14 @@ int main(int argc, char *argv[])
{
int ret = 0;
+ /* Test that ARCH_SHSTK_UNLOCK can't be called from normal (non-ptrace) context. */
+ if (!ARCH_PRCTL(ARCH_SHSTK_UNLOCK, ARCH_SHSTK_SHSTK)) {
+ printf("[FAIL]\tARCH_SHSTK_UNLOCK should fail in a non-ptrace context\n");
+ goto out;
+ }
+
+ printf("[OK]\tCouldn't enable Shadow stack via UNLOCK\n");
+
if (ARCH_PRCTL(ARCH_SHSTK_ENABLE, ARCH_SHSTK_SHSTK)) {
printf("[SKIP]\tCould not enable Shadow stack\n");
return 1;
--
2.54.0
^ permalink raw reply related [flat|nested] 2+ messages in thread