Message ID | 20230222012337.1572476-1-edliaw@google.com |
---|---|
State | Superseded |
Headers | show |
Series | [v2] syscall01: use 32bit syscalls if available | expand |
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)");
With CONFIG_UID16 disabled and this test compiled as 32bit, it 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(+)