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

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