commit 917e423073c5eacffbad83008c27c8e61e0e342a Author: Mark Wielaard Date: Mon May 20 00:09:59 2019 +0200 Make memcheck/tests/arm64-linux/scalar test work under root. Running the testsuite as root isn't really recommended. But lets not make tests fail unnecessarily when running as root. Pass really invalid arguments to setuid, setgid, acct and fchown. Make setresgid, setresuid, setregid and setreuid always succeed. diff --git a/memcheck/tests/arm64-linux/scalar.c b/memcheck/tests/arm64-linux/scalar.c index fd49db6..622ea1c 100644 --- a/memcheck/tests/arm64-linux/scalar.c +++ b/memcheck/tests/arm64-linux/scalar.c @@ -136,7 +136,7 @@ int main(void) // __NR_setuid 23 GO(__NR_setuid, "1s 0m"); - SY(__NR_setuid, x0); FAIL; + SY(__NR_setuid, x0-1); FAIL; // __NR_getuid 24 GO(__NR_getuid, "0s 0m"); @@ -229,7 +229,7 @@ int main(void) // __NR_setgid 46 GO(__NR_setgid, "1s 0m"); - SY(__NR_setgid, x0); FAIL; + SY(__NR_setgid, x0-1); FAIL; // __NR_getgid 47 GO(__NR_getgid, "0s 0m"); @@ -249,7 +249,7 @@ int main(void) // __NR_acct 51 GO(__NR_acct, "1s 1m"); - SY(__NR_acct, x0); FAIL; + SY(__NR_acct, x0-1); FAIL; // __NR_umount2 52 GO(__NR_umount2, "2s 1m"); @@ -340,11 +340,11 @@ int main(void) // __NR_setreuid 70 GO(__NR_setreuid, "2s 0m"); - SY(__NR_setreuid, x0, x0); FAIL; + SY(__NR_setreuid, x0-1, x0-1); SUCC; // __NR_setregid 71 GO(__NR_setregid, "2s 0m"); - SY(__NR_setregid, x0, x0); FAIL; + SY(__NR_setregid, x0-1, x0-1); SUCC; // __NR_sigsuspend arm64 only has rt_sigsuspend // XXX: how do you use this function? @@ -447,7 +447,7 @@ int main(void) // __NR_fchown 95 GO(__NR_fchown, "3s 0m"); - SY(__NR_fchown, x0, x0, x0); FAIL; + SY(__NR_fchown, x0-1, x0, x0); FAIL; // __NR_getpriority 96 GO(__NR_getpriority, "2s 0m"); @@ -733,7 +733,7 @@ int main(void) // __NR_setresuid 164 GO(__NR_setresuid, "3s 0m"); - SY(__NR_setresuid, x0, x0, x0); FAIL; + SY(__NR_setresuid, x0-1, x0-1, x0-1); SUCC; // __NR_getresuid 165 GO(__NR_getresuid, "3s 3m"); @@ -757,7 +757,7 @@ int main(void) // __NR_setresgid 170 GO(__NR_setresgid, "3s 0m"); - SY(__NR_setresgid, x0, x0, x0); FAIL; + SY(__NR_setresgid, x0-1, x0-1, x0-1); SUCC; // __NR_getresgid 171 GO(__NR_getresgid, "3s 3m");