[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] linux-user: translate resource also for prlimit64
From: |
Felix Janda |
Subject: |
[Qemu-devel] [PATCH] linux-user: translate resource also for prlimit64 |
Date: |
Tue, 2 Dec 2014 22:11:17 +0100 |
User-agent: |
Mutt/1.5.22 (2013-10-16) |
The resource argument is translated from host to target for
[gs]etprlimit but not for prlimit64. Fix this.
Signed-off-by: Felix Janda <address@hidden>
---
linux-user/syscall.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index aaac6a2..5658b66 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9529,6 +9529,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
/* args: pid, resource number, ptr to new rlimit, ptr to old rlimit */
struct target_rlimit64 *target_rnew, *target_rold;
struct host_rlimit64 rnew, rold, *rnewp = 0;
+ int resource = target_to_host_resource(arg2);
if (arg3) {
if (!lock_user_struct(VERIFY_READ, target_rnew, arg3, 1)) {
goto efault;
@@ -9539,7 +9540,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
rnewp = &rnew;
}
- ret = get_errno(sys_prlimit64(arg1, arg2, rnewp, arg4 ? &rold : 0));
+ ret = get_errno(sys_prlimit64(arg1, resource, rnewp, arg4 ? &rold :
0));
if (!is_error(ret) && arg4) {
if (!lock_user_struct(VERIFY_WRITE, target_rold, arg4, 1)) {
goto efault;
--
2.0.4
- [Qemu-devel] [PATCH] linux-user: translate resource also for prlimit64,
Felix Janda <=