mirror of https://github.com/xemu-project/xemu.git
linux-user: translate resource also for prlimit64
The resource argument is translated from host to target for [gs]etprlimit but not for prlimit64. Fix this. Signed-off-by: Felix Janda <felix.janda@posteo.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
f6c7a05b89
commit
95018018ca
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue