arch,sim: Replace setuidFunc with ignoreFunc.

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>
This commit is contained in:
Gabe Black
2019-11-27 01:46:31 -08:00
parent 97c02b000e
commit 97a0ad7f63
9 changed files with 9 additions and 21 deletions

View 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" },

View 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" },

View 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" },

View 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" },

View 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" }},

View 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" },

View 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" },

View 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)
{

View 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);