diff options
Diffstat (limited to 'kernel/time/hrtimer.c')
| -rw-r--r-- | kernel/time/hrtimer.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index 8de90ea31280..3a609e7344f3 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -1477,7 +1477,7 @@ EXPORT_SYMBOL_GPL(hrtimer_active);  static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,  			  struct hrtimer_clock_base *base,  			  struct hrtimer *timer, ktime_t *now, -			  unsigned long flags) +			  unsigned long flags) __must_hold(&cpu_base->lock)  {  	enum hrtimer_restart (*fn)(struct hrtimer *);  	int restart; @@ -1910,8 +1910,8 @@ static long __sched hrtimer_nanosleep_restart(struct restart_block *restart)  	return ret;  } -long hrtimer_nanosleep(const struct timespec64 *rqtp, -		       const enum hrtimer_mode mode, const clockid_t clockid) +long hrtimer_nanosleep(ktime_t rqtp, const enum hrtimer_mode mode, +		       const clockid_t clockid)  {  	struct restart_block *restart;  	struct hrtimer_sleeper t; @@ -1923,7 +1923,7 @@ long hrtimer_nanosleep(const struct timespec64 *rqtp,  		slack = 0;  	hrtimer_init_sleeper_on_stack(&t, clockid, mode); -	hrtimer_set_expires_range_ns(&t.timer, timespec64_to_ktime(*rqtp), slack); +	hrtimer_set_expires_range_ns(&t.timer, rqtp, slack);  	ret = do_nanosleep(&t, mode);  	if (ret != -ERESTART_RESTARTBLOCK)  		goto out; @@ -1958,7 +1958,8 @@ SYSCALL_DEFINE2(nanosleep, struct __kernel_timespec __user *, rqtp,  	current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE;  	current->restart_block.nanosleep.rmtp = rmtp; -	return hrtimer_nanosleep(&tu, HRTIMER_MODE_REL, CLOCK_MONOTONIC); +	return hrtimer_nanosleep(timespec64_to_ktime(tu), HRTIMER_MODE_REL, +				 CLOCK_MONOTONIC);  }  #endif @@ -1978,7 +1979,8 @@ SYSCALL_DEFINE2(nanosleep_time32, struct old_timespec32 __user *, rqtp,  	current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE;  	current->restart_block.nanosleep.compat_rmtp = rmtp; -	return hrtimer_nanosleep(&tu, HRTIMER_MODE_REL, CLOCK_MONOTONIC); +	return hrtimer_nanosleep(timespec64_to_ktime(tu), HRTIMER_MODE_REL, +				 CLOCK_MONOTONIC);  }  #endif  |