[LTP] [PATCH v1] syscall01: use 32bit syscalls if available
Edward Liaw
edliaw@google.com
Wed Feb 22 02:16:35 CET 2023
With CONFIG_UID16 disabled on x86, this test will fail to find the 16bit
syscalls for getuid and getgid. Instead, use the 32bit calls if they
exist to match the behavior of glibc.
Signed-off-by: Edward Liaw <edliaw@google.com>
---
testcases/kernel/syscalls/syscall/syscall01.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/testcases/kernel/syscalls/syscall/syscall01.c b/testcases/kernel/syscalls/syscall/syscall01.c
index 167e6ee86..76e793221 100644
--- a/testcases/kernel/syscalls/syscall/syscall01.c
+++ b/testcases/kernel/syscalls/syscall/syscall01.c
@@ -37,7 +37,11 @@ static void verify_getuid(void)
uid_t u1, u2;
u1 = getuid();
+#ifdef SYS_getuid32
+ u2 = syscall(SYS_getuid32);
+#else
u2 = syscall(SYS_getuid);
+#endif
if (u1 == u2) {
tst_res(TPASS, "getuid() == syscall(SYS_getuid)");
@@ -52,7 +56,11 @@ static void verify_getgid(void)
gid_t g1, g2;
g1 = getgid();
+#ifdef SYS_getgid32
+ g2 = syscall(SYS_getgid32);
+#else
g2 = syscall(SYS_getgid);
+#endif
if (g1 == g2) {
tst_res(TPASS, "getgid() == syscall(SYS_getgid)");
--
2.39.2.637.g21b0678d19-goog
More information about the ltp
mailing list