diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-07-19 11:23:15 -0300 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2024-07-19 22:39:44 +0200 |
commit | 6b7e2e1d6139b1fb61b911ab897a956042bf7f89 (patch) | |
tree | 2d45ba6a04cc20f93ee7aec695e35a52e346aed4 | |
parent | e0f7da7235105e0ae807bc701e54a0ea01e0ef9f (diff) | |
download | glibc-6b7e2e1d6139b1fb61b911ab897a956042bf7f89.zip glibc-6b7e2e1d6139b1fb61b911ab897a956042bf7f89.tar.gz glibc-6b7e2e1d6139b1fb61b911ab897a956042bf7f89.tar.bz2 |
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>
-rw-r--r-- | sysdeps/unix/sysv/linux/tst-pkey.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/tst-pkey.c b/sysdeps/unix/sysv/linux/tst-pkey.c index d9083da..46f5566 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); |