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

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