Blame SOURCES/valgrind-3.15.0-scalar-x86.patch

058efa
commit abc09f23e1ad55a07beb827aef969acfe6c496ef
058efa
Author: Mark Wielaard <mark@klomp.org>
058efa
Date:   Mon May 20 13:08:41 2019 +0200
058efa
058efa
    Make memcheck/tests/x86-linux/scalar test work under root.
058efa
    
058efa
    Running the testsuite as root isn't really recommended.
058efa
    But lets not make tests fail unnecessarily when running as root.
058efa
    Similar to the arm64-linux/scalar fixes. Plus 32bit variants that
058efa
    don't exist on arm64.
058efa
    
058efa
    Pass really invalid arguments to setuid[32], setgid[32], acct, fchown[32].
058efa
    Make setresgid[32], setresuid[32], setregid[32], setreuid[32] always succeed.
058efa
058efa
diff --git a/memcheck/tests/x86-linux/scalar.c b/memcheck/tests/x86-linux/scalar.c
058efa
index 213a5ad..52f0d4e 100644
058efa
--- a/memcheck/tests/x86-linux/scalar.c
058efa
+++ b/memcheck/tests/x86-linux/scalar.c
058efa
@@ -145,7 +145,7 @@ int main(void)
058efa
 
058efa
    // __NR_setuid 23
058efa
    GO(__NR_setuid, "1s 0m");
058efa
-   SY(__NR_setuid, x0); FAIL;
058efa
+   SY(__NR_setuid, x0-1); FAIL;
058efa
 
058efa
    // __NR_getuid 24
058efa
    GO(__NR_getuid, "0s 0m");
058efa
@@ -238,7 +238,7 @@ int main(void)
058efa
 
058efa
    // __NR_setgid 46
058efa
    GO(__NR_setgid, "1s 0m");
058efa
-   SY(__NR_setgid, x0); FAIL;
058efa
+   SY(__NR_setgid, x0-1); FAIL;
058efa
 
058efa
    // __NR_getgid 47
058efa
    GO(__NR_getgid, "0s 0m");
058efa
@@ -258,7 +258,7 @@ int main(void)
058efa
 
058efa
    // __NR_acct 51
058efa
    GO(__NR_acct, "1s 1m");
058efa
-   SY(__NR_acct, x0); FAIL;
058efa
+   SY(__NR_acct, x0-1); FAIL;
058efa
 
058efa
    // __NR_umount2 52
058efa
    GO(__NR_umount2, "2s 1m");
058efa
@@ -349,11 +349,11 @@ int main(void)
058efa
 
058efa
    // __NR_setreuid 70
058efa
    GO(__NR_setreuid, "2s 0m");
058efa
-   SY(__NR_setreuid, x0, x0); FAIL;
058efa
+   SY(__NR_setreuid, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_setregid 71
058efa
    GO(__NR_setregid, "2s 0m");
058efa
-   SY(__NR_setregid, x0, x0); FAIL;
058efa
+   SY(__NR_setregid, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_sigsuspend 72
058efa
    // XXX: how do you use this function?
058efa
@@ -456,7 +456,7 @@ int main(void)
058efa
 
058efa
    // __NR_fchown 95
058efa
    GO(__NR_fchown, "3s 0m");
058efa
-   SY(__NR_fchown, x0, x0, x0); FAIL;
058efa
+   SY(__NR_fchown, x0-1, x0, x0); FAIL;
058efa
 
058efa
    // __NR_getpriority 96
058efa
    GO(__NR_getpriority, "2s 0m");
058efa
@@ -742,7 +742,7 @@ int main(void)
058efa
 
058efa
    // __NR_setresuid 164
058efa
    GO(__NR_setresuid, "3s 0m");
058efa
-   SY(__NR_setresuid, x0, x0, x0); FAIL;
058efa
+   SY(__NR_setresuid, x0-1, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_getresuid 165
058efa
    GO(__NR_getresuid, "3s 3m");
058efa
@@ -766,7 +766,7 @@ int main(void)
058efa
 
058efa
    // __NR_setresgid 170
058efa
    GO(__NR_setresgid, "3s 0m");
058efa
-   SY(__NR_setresgid, x0, x0, x0); FAIL;
058efa
+   SY(__NR_setresgid, x0-1, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_getresgid 171
058efa
    GO(__NR_getresgid, "3s 3m");
058efa
@@ -923,11 +923,11 @@ int main(void)
058efa
 
058efa
    // __NR_setreuid32 203
058efa
    GO(__NR_setreuid32, "2s 0m");
058efa
-   SY(__NR_setreuid32, x0, x0); FAIL;
058efa
+   SY(__NR_setreuid32, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_setregid32 204
058efa
    GO(__NR_setregid32, "2s 0m");
058efa
-   SY(__NR_setregid32, x0, x0); FAIL;
058efa
+   SY(__NR_setregid32, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_getgroups32 205
058efa
    GO(__NR_getgroups32, "2s 1m");
058efa
@@ -939,11 +939,11 @@ int main(void)
058efa
 
058efa
    // __NR_fchown32 207
058efa
    GO(__NR_fchown32, "3s 0m");
058efa
-   SY(__NR_fchown32, x0, x0, x0); FAIL;
058efa
+   SY(__NR_fchown32, x0-1, x0, x0); FAIL;
058efa
 
058efa
    // __NR_setresuid32 208
058efa
    GO(__NR_setresuid32, "3s 0m");
058efa
-   SY(__NR_setresuid32, x0, x0, x0); FAIL;
058efa
+   SY(__NR_setresuid32, x0-1, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_getresuid32 209
058efa
    GO(__NR_getresuid32, "3s 3m");
058efa
@@ -951,7 +951,7 @@ int main(void)
058efa
 
058efa
    // __NR_setresgid32 210
058efa
    GO(__NR_setresgid32, "3s 0m");
058efa
-   SY(__NR_setresgid32, x0, x0, x0); FAIL;
058efa
+   SY(__NR_setresgid32, x0-1, x0-1, x0-1); SUCC;
058efa
 
058efa
    // __NR_getresgid32 211
058efa
    GO(__NR_getresgid32, "3s 3m");
058efa
@@ -963,11 +963,11 @@ int main(void)
058efa
 
058efa
    // __NR_setuid32 213
058efa
    GO(__NR_setuid32, "1s 0m");
058efa
-   SY(__NR_setuid32, x0); FAIL;
058efa
+   SY(__NR_setuid32, x0-1); FAIL;
058efa
 
058efa
    // __NR_setgid32 214
058efa
    GO(__NR_setgid32, "1s 0m");
058efa
-   SY(__NR_setgid32, x0); FAIL;
058efa
+   SY(__NR_setgid32, x0-1); FAIL;
058efa
 
058efa
    // __NR_setfsuid32 215
058efa
    GO(__NR_setfsuid32, "1s 0m");