projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
23d208c
)
linux-user: fix settime old value location
author
Marc-André Lureau
<marcandre.lureau@redhat.com>
Thu, 19 Jan 2017 15:15:32 +0000
(10:15 -0500)
committer
Laurent Vivier
<laurent@vivier.eu>
Thu, 16 Feb 2017 14:29:30 +0000
(15:29 +0100)
old_value is the 4th argument of timer_settime(), not the 2nd.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <
20170119151533
.29328-1-bobby.prani@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/syscall.c
patch
|
blob
|
history
diff --git
a/linux-user/syscall.c
b/linux-user/syscall.c
index d982a27a0c845d5d2727cc5d7ac5376e8ab4e7c3..f569f827fc2a418035d1d476061da7dbd3391723 100644
(file)
--- a/
linux-user/syscall.c
+++ b/
linux-user/syscall.c
@@
-12043,10
+12043,14
@@
abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
timer_t htimer = g_posix_timers[timerid];
struct itimerspec hspec_new = {{0},}, hspec_old = {{0},};
- target_to_host_itimerspec(&hspec_new, arg3);
+ if (target_to_host_itimerspec(&hspec_new, arg3)) {
+ goto efault;
+ }
ret = get_errno(
timer_settime(htimer, arg2, &hspec_new, &hspec_old));
- host_to_target_itimerspec(arg2, &hspec_old);
+ if (arg4 && host_to_target_itimerspec(arg4, &hspec_old)) {
+ goto efault;
+ }
}
break;
}