arch,sim: Replace setuidFunc with ignoreFunc.
authorGabe Black <gabeblack@google.com>
Wed, 27 Nov 2019 09:46:31 +0000 (01:46 -0800)
committerGabe Black <gabeblack@google.com>
Sat, 8 Feb 2020 13:05:45 +0000 (13:05 +0000)
The setuidFunc just ignores the call and warns about it, and that's
what ignoreFunc already does.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I7655863ed6fe200ff3ac087be3218d49c3c43061
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23194
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/alpha/linux/process.cc
src/arch/arm/linux/process.cc
src/arch/mips/linux/process.cc
src/arch/power/linux/process.cc
src/arch/riscv/linux/process.cc
src/arch/sparc/linux/syscalls.cc
src/arch/sparc/solaris/process.cc
src/sim/syscall_emul.cc
src/sim/syscall_emul.hh

index 91decc79fbe3b8a4c181ab0e5ce1750266f61d28..2cd910249f37671702e6a383fa4293bae163ace1 100644 (file)
@@ -179,7 +179,7 @@ SyscallDescABI<DefaultSyscallABI> AlphaLinuxProcess::syscallDescs[] = {
     /* 20 */ { "getxpid", getpidPseudoFunc },
     /* 21 */ { "osf_mount" },
     /* 22 */ { "umount" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getxuid", getuidPseudoFunc },
     /* 25 */ { "exec_with_loader" },
     /* 26 */ { "osf_ptrace" },
index 039148739d274c9c48cc3566ed1622514aac0b9e..4b54a5414357dc86436e54e21dcb777e9c7454ab 100644 (file)
@@ -188,7 +188,7 @@ static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
     /* 20 */ { "getpid", getpidFunc },
     /* 21 */ { "mount" },
     /* 22 */ { "umount" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getuid", getuidFunc },
     /* 25 */ { "stime" },
     /* 26 */ { "ptrace" },
index 0b03c9981935cc8450cc2742bc851b52561583b7..31bf9906e651a6ec27af672f2364bbea6712c1ad 100644 (file)
@@ -192,7 +192,7 @@ SyscallDescABI<DefaultSyscallABI> MipsLinuxProcess::syscallDescs[] = {
     /* 20 */ { "getpid", getpidFunc },
     /* 21 */ { "mount" },
     /* 22 */ { "umount" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getuid", getuidFunc },
     /* 25 */ { "stime" },
     /* 26 */ { "ptrace" },
index 217f0bd97269b4adf39c0bd838142c45602755d7..7c55a57bdf0f8e9d1359df99c0ddaeabb75ac706 100644 (file)
@@ -120,7 +120,7 @@ SyscallDescABI<DefaultSyscallABI> PowerLinuxProcess::syscallDescs[] = {
     /* 20 */ { "getpid", getpidFunc },
     /* 21 */ { "mount" },
     /* 22 */ { "umount" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getuid", getuidFunc },
     /* 25 */ { "stime" },
     /* 26 */ { "ptrace" },
index b20d09d31392c51ee5d47ce14e4a7a53cfbcaaf4..6f3f03741e1bf631cf8ae42adf868c35a0e365c0 100644 (file)
@@ -269,7 +269,7 @@ std::map<int, SyscallDescABI<DefaultSyscallABI>>
     {143,  { "setregid" }},
     {144,  { "setgid" }},
     {145,  { "setreuid" }},
-    {146,  { "setuid", setuidFunc }},
+    {146,  { "setuid", ignoreFunc }},
     {147,  { "setresuid" }},
     {148,  { "getresuid" }},
     {149,  { "getresgid" }},
@@ -601,7 +601,7 @@ std::map<int, SyscallDescABI<DefaultSyscallABI>>
     {143,  { "setregid" }},
     {144,  { "setgid" }},
     {145,  { "setreuid" }},
-    {146,  { "setuid", setuidFunc }},
+    {146,  { "setuid", ignoreFunc }},
     {147,  { "setresuid" }},
     {148,  { "getresuid" }},
     {149,  { "getresgid" }},
index a166a51884b5e606cf015aaab93aa226ab9b2cb8..65ad2986df1aa6d0664a4bfc61ba0ec11f3fd5b2 100644 (file)
@@ -112,7 +112,7 @@ SyscallDescABI<DefaultSyscallABI> SparcLinuxProcess::syscall32Descs[] = {
     /*  20 */ { "getpid", getpidFunc },
     /*  21 */ { "capget" },
     /*  22 */ { "capset" },
-    /*  23 */ { "setuid", setuidFunc }, // 32 bit
+    /*  23 */ { "setuid", ignoreFunc }, // 32 bit
     /*  24 */ { "getuid", getuidFunc }, // 32 bit
     /*  25 */ { "time" },
     /*  26 */ { "ptrace" },
@@ -418,7 +418,7 @@ SyscallDescABI<DefaultSyscallABI> SparcLinuxProcess::syscallDescs[] = {
     /* 20 */ { "getpid", getpidFunc },
     /* 21 */ { "capget" },
     /* 22 */ { "capset" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getuid", getuidFunc },
     /* 25 */ { "time" },
     /* 26 */ { "ptrace" },
index 4c22f1e4ff8fe6601f04b25e03078258892093c2..e95f2d755eed572e11cfef1b518bd2756b043af3 100644 (file)
@@ -114,7 +114,7 @@ SyscallDescABI<DefaultSyscallABI> SparcSolarisProcess::syscallDescs[] = {
     /* 20 */ { "getpid", getpidFunc },
     /* 21 */ { "mount" },
     /* 22 */ { "umount" },
-    /* 23 */ { "setuid", setuidFunc },
+    /* 23 */ { "setuid", ignoreFunc },
     /* 24 */ { "getuid", getuidFunc },
     /* 25 */ { "stime" },
     /* 26 */ { "pcsample" },
index e7efbaa0edd9643963f93fcbe099c0577d180ade..585465d82d1746618acf337228cd3b4cc8586792 100644 (file)
@@ -1013,14 +1013,6 @@ getgidPseudoFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
 }
 
 
-SyscallReturn
-setuidFunc(SyscallDesc *desc, int callnum, ThreadContext *tc, int uid)
-{
-    // can't fathom why a benchmark would call this.
-    warn("Ignoring call to setuid(%d)\n", uid);
-    return 0;
-}
-
 SyscallReturn
 getpidFunc(SyscallDesc *desc, int callnum, ThreadContext *tc)
 {
index 69a583f57f56a6c30487fc0efbbab4f4f48dcd68..3e727e8314bc701fedf327ab86f219009eceedb3 100644 (file)
@@ -275,10 +275,6 @@ SyscallReturn fcntlFunc(SyscallDesc *desc, int num, ThreadContext *tc);
 /// Target fcntl64() handler.
 SyscallReturn fcntl64Func(SyscallDesc *desc, int num, ThreadContext *tc);
 
-/// Target setuid() handler.
-SyscallReturn setuidFunc(SyscallDesc *desc, int num, ThreadContext *tc,
-                         int uid);
-
 /// Target pipe() handler.
 SyscallReturn pipeFunc(SyscallDesc *desc, int num, ThreadContext *tc);