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:
@@ -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" },
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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" }},
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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" },
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user