aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/posix-timers.c
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2017-06-07 09:42:28 +0100
committerThomas Gleixner <tglx@linutronix.de>2017-06-14 00:00:40 +0200
commit192a82f9003fe8fabd6088aa646e829225a94c55 (patch)
tree86c755bd9c5ef78d53006bc75170030b092297a8 /kernel/time/posix-timers.c
parent15f27ce24cb613e6e01ce27c4094c55e55dde5d4 (diff)
downloadlinux-192a82f9003fe8fabd6088aa646e829225a94c55.tar.gz
hrtimer_nanosleep(): Pass rmtp in restart_block
Store the pointer to the timespec which gets updated with the remaining time in the restart block and remove the function argument. [ tglx: Added changelog ] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: John Stultz <john.stultz@linaro.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20170607084241.28657-3-viro@ZenIV.linux.org.uk
Diffstat (limited to 'kernel/time/posix-timers.c')
-rw-r--r--kernel/time/posix-timers.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index 58c0f60b132fb3..1a9f59f8afc2c6 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -1043,7 +1043,10 @@ SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock,
static int common_nsleep(const clockid_t which_clock, int flags,
struct timespec64 *tsave, struct timespec __user *rmtp)
{
- return hrtimer_nanosleep(tsave, rmtp, flags & TIMER_ABSTIME ?
+ if (flags & TIMER_ABSTIME)
+ rmtp = NULL;
+ current->restart_block.nanosleep.rmtp = rmtp;
+ return hrtimer_nanosleep(tsave, flags & TIMER_ABSTIME ?
HRTIMER_MODE_ABS : HRTIMER_MODE_REL,
which_clock);
}