[glibc/release/2.39/master] linux: Also check pkey_get for ENOSYS on tst-pkey (BZ 31996)
Yury Khrustalev
ykhrustalev@sourceware.org
Fri Nov 14 10:00:48 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=38942a336bfb29c0f174b8a627fc84be092692db
commit 38942a336bfb29c0f174b8a627fc84be092692db
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Fri Jul 19 11:23:15 2024 -0300
linux: Also check pkey_get for ENOSYS on tst-pkey (BZ 31996)
The powerpc pkey_get/pkey_set support was only added for 64-bit [1],
and tst-pkey only checks if the support was present with pkey_alloc
(which does not fail on powerpc32, at least running a 64-bit kernel).
Checked on powerpc-linux-gnu.
[1] https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a803367bab167f5ec4fde1f0d0ec447707c29520
Reviewed-By: Andreas K. Huettel <dilfridge@gentoo.org>
(cherry picked from commit 6b7e2e1d6139b1fb61b911ab897a956042bf7f89)
Diff:
---
sysdeps/unix/sysv/linux/tst-pkey.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sysdeps/unix/sysv/linux/tst-pkey.c b/sysdeps/unix/sysv/linux/tst-pkey.c
index d9083daab9..46f55666da 100644
--- a/sysdeps/unix/sysv/linux/tst-pkey.c
+++ b/sysdeps/unix/sysv/linux/tst-pkey.c
@@ -205,7 +205,13 @@ do_test (void)
" protection keys");
FAIL_EXIT1 ("pkey_alloc: %m");
}
- TEST_COMPARE (pkey_get (keys[0]), 0);
+ if (pkey_get (keys[0]) < 0)
+ {
+ if (errno == ENOSYS)
+ FAIL_UNSUPPORTED
+ ("glibc does not support memory protection keys");
+ FAIL_EXIT1 ("pkey_alloc: %m");
+ }
for (int i = 1; i < key_count; ++i)
{
keys[i] = pkey_alloc (0, i);
More information about the Glibc-cvs
mailing list