summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTuan Ta <qtt2@cornell.edu>2017-12-21 11:06:10 -0500
committerTuan Ta <qtt2@cornell.edu>2018-01-05 15:34:20 +0000
commitd1f665aad2417a68039bb5aa7b0afa77343cb319 (patch)
tree430b35832b3810ca17f64928ff1be8a913d75952
parentba4d3df43c74613ca5381b9ecc4a7479b1de9c68 (diff)
downloadgem5-d1f665aad2417a68039bb5aa7b0afa77343cb319.tar.xz
sim: Fix a bug in prlimit syscall in SE mode
The old_limit pointer is supposed to be the 4th argument (index 3) of the prlimit syscall. This patch sets old_limit pointer to the correct argument. Change-Id: I97808f7234cd2622cb3eb2f1e0beb7fc8cf492c1 Reviewed-on: https://gem5-review.googlesource.com/6903 Reviewed-by: Alec Roelke <ar4jc@virginia.edu> Maintainer: Brandon Potter <Brandon.Potter@amd.com>
-rw-r--r--src/sim/syscall_emul.hh3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index a24028f08..2ffd6d6ae 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -1705,8 +1705,7 @@ prlimitFunc(SyscallDesc *desc, int callnum, Process *process,
Addr o = process->getSyscallArg(tc, index);
if (o != 0)
{
- TypedBufferArg<typename OS::rlimit> rlp(
- process->getSyscallArg(tc, index));
+ TypedBufferArg<typename OS::rlimit> rlp(o);
switch (resource) {
case OS::TGT_RLIMIT_STACK:
// max stack size in bytes: make up a number (8MB for now)