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

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