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