From: Mark Wielaard Date: Mon, 20 May 2019 11:08:41 +0000 (+0200) Subject: Make memcheck/tests/x86-linux/scalar test work under root. X-Git-Tag: VALGRIND_3_16_0~284 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abc09f23e1ad55a07beb827aef969acfe6c496ef;p=thirdparty%2Fvalgrind.git Make memcheck/tests/x86-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. Similar to the arm64-linux/scalar fixes. Plus 32bit variants that don't exist on arm64. Pass really invalid arguments to setuid[32], setgid[32], acct, fchown[32]. Make setresgid[32], setresuid[32], setregid[32], setreuid[32] always succeed. --- diff --git a/memcheck/tests/x86-linux/scalar.c b/memcheck/tests/x86-linux/scalar.c index 213a5ad7ce..52f0d4e353 100644 --- a/memcheck/tests/x86-linux/scalar.c +++ b/memcheck/tests/x86-linux/scalar.c @@ -145,7 +145,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"); @@ -238,7 +238,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"); @@ -258,7 +258,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"); @@ -349,11 +349,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 72 // XXX: how do you use this function? @@ -456,7 +456,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"); @@ -742,7 +742,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"); @@ -766,7 +766,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"); @@ -923,11 +923,11 @@ int main(void) // __NR_setreuid32 203 GO(__NR_setreuid32, "2s 0m"); - SY(__NR_setreuid32, x0, x0); FAIL; + SY(__NR_setreuid32, x0-1, x0-1); SUCC; // __NR_setregid32 204 GO(__NR_setregid32, "2s 0m"); - SY(__NR_setregid32, x0, x0); FAIL; + SY(__NR_setregid32, x0-1, x0-1); SUCC; // __NR_getgroups32 205 GO(__NR_getgroups32, "2s 1m"); @@ -939,11 +939,11 @@ int main(void) // __NR_fchown32 207 GO(__NR_fchown32, "3s 0m"); - SY(__NR_fchown32, x0, x0, x0); FAIL; + SY(__NR_fchown32, x0-1, x0, x0); FAIL; // __NR_setresuid32 208 GO(__NR_setresuid32, "3s 0m"); - SY(__NR_setresuid32, x0, x0, x0); FAIL; + SY(__NR_setresuid32, x0-1, x0-1, x0-1); SUCC; // __NR_getresuid32 209 GO(__NR_getresuid32, "3s 3m"); @@ -951,7 +951,7 @@ int main(void) // __NR_setresgid32 210 GO(__NR_setresgid32, "3s 0m"); - SY(__NR_setresgid32, x0, x0, x0); FAIL; + SY(__NR_setresgid32, x0-1, x0-1, x0-1); SUCC; // __NR_getresgid32 211 GO(__NR_getresgid32, "3s 3m"); @@ -963,11 +963,11 @@ int main(void) // __NR_setuid32 213 GO(__NR_setuid32, "1s 0m"); - SY(__NR_setuid32, x0); FAIL; + SY(__NR_setuid32, x0-1); FAIL; // __NR_setgid32 214 GO(__NR_setgid32, "1s 0m"); - SY(__NR_setgid32, x0); FAIL; + SY(__NR_setgid32, x0-1); FAIL; // __NR_setfsuid32 215 GO(__NR_setfsuid32, "1s 0m");