diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sys.c | 5 | ||||
-rw-r--r-- | kernel/time/hrtimer.c | 8 | ||||
-rw-r--r-- | kernel/time/timer.c | 4 |
3 files changed, 10 insertions, 7 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 78947de6f969..cf8ba545c7d3 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -2169,7 +2169,10 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, | |||
2169 | error = perf_event_task_enable(); | 2169 | error = perf_event_task_enable(); |
2170 | break; | 2170 | break; |
2171 | case PR_GET_TIMERSLACK: | 2171 | case PR_GET_TIMERSLACK: |
2172 | error = current->timer_slack_ns; | 2172 | if (current->timer_slack_ns > ULONG_MAX) |
2173 | error = ULONG_MAX; | ||
2174 | else | ||
2175 | error = current->timer_slack_ns; | ||
2173 | break; | 2176 | break; |
2174 | case PR_SET_TIMERSLACK: | 2177 | case PR_SET_TIMERSLACK: |
2175 | if (arg2 <= 0) | 2178 | if (arg2 <= 0) |
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c index fa909f9fd559..58a321c34cfb 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c | |||
@@ -979,7 +979,7 @@ static inline ktime_t hrtimer_update_lowres(struct hrtimer *timer, ktime_t tim, | |||
979 | * relative (HRTIMER_MODE_REL) | 979 | * relative (HRTIMER_MODE_REL) |
980 | */ | 980 | */ |
981 | void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, | 981 | void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, |
982 | unsigned long delta_ns, const enum hrtimer_mode mode) | 982 | u64 delta_ns, const enum hrtimer_mode mode) |
983 | { | 983 | { |
984 | struct hrtimer_clock_base *base, *new_base; | 984 | struct hrtimer_clock_base *base, *new_base; |
985 | unsigned long flags; | 985 | unsigned long flags; |
@@ -1548,7 +1548,7 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, | |||
1548 | struct restart_block *restart; | 1548 | struct restart_block *restart; |
1549 | struct hrtimer_sleeper t; | 1549 | struct hrtimer_sleeper t; |
1550 | int ret = 0; | 1550 | int ret = 0; |
1551 | unsigned long slack; | 1551 | u64 slack; |
1552 | 1552 | ||
1553 | slack = current->timer_slack_ns; | 1553 | slack = current->timer_slack_ns; |
1554 | if (dl_task(current) || rt_task(current)) | 1554 | if (dl_task(current) || rt_task(current)) |
@@ -1724,7 +1724,7 @@ void __init hrtimers_init(void) | |||
1724 | * @clock: timer clock, CLOCK_MONOTONIC or CLOCK_REALTIME | 1724 | * @clock: timer clock, CLOCK_MONOTONIC or CLOCK_REALTIME |
1725 | */ | 1725 | */ |
1726 | int __sched | 1726 | int __sched |
1727 | schedule_hrtimeout_range_clock(ktime_t *expires, unsigned long delta, | 1727 | schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta, |
1728 | const enum hrtimer_mode mode, int clock) | 1728 | const enum hrtimer_mode mode, int clock) |
1729 | { | 1729 | { |
1730 | struct hrtimer_sleeper t; | 1730 | struct hrtimer_sleeper t; |
@@ -1792,7 +1792,7 @@ schedule_hrtimeout_range_clock(ktime_t *expires, unsigned long delta, | |||
1792 | * | 1792 | * |
1793 | * Returns 0 when the timer has expired otherwise -EINTR | 1793 | * Returns 0 when the timer has expired otherwise -EINTR |
1794 | */ | 1794 | */ |
1795 | int __sched schedule_hrtimeout_range(ktime_t *expires, unsigned long delta, | 1795 | int __sched schedule_hrtimeout_range(ktime_t *expires, u64 delta, |
1796 | const enum hrtimer_mode mode) | 1796 | const enum hrtimer_mode mode) |
1797 | { | 1797 | { |
1798 | return schedule_hrtimeout_range_clock(expires, delta, mode, | 1798 | return schedule_hrtimeout_range_clock(expires, delta, mode, |
diff --git a/kernel/time/timer.c b/kernel/time/timer.c index bbc5d1114583..d1798fa0c743 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c | |||
@@ -1698,10 +1698,10 @@ EXPORT_SYMBOL(msleep_interruptible); | |||
1698 | static void __sched do_usleep_range(unsigned long min, unsigned long max) | 1698 | static void __sched do_usleep_range(unsigned long min, unsigned long max) |
1699 | { | 1699 | { |
1700 | ktime_t kmin; | 1700 | ktime_t kmin; |
1701 | unsigned long delta; | 1701 | u64 delta; |
1702 | 1702 | ||
1703 | kmin = ktime_set(0, min * NSEC_PER_USEC); | 1703 | kmin = ktime_set(0, min * NSEC_PER_USEC); |
1704 | delta = (max - min) * NSEC_PER_USEC; | 1704 | delta = (u64)(max - min) * NSEC_PER_USEC; |
1705 | schedule_hrtimeout_range(&kmin, delta, HRTIMER_MODE_REL); | 1705 | schedule_hrtimeout_range(&kmin, delta, HRTIMER_MODE_REL); |
1706 | } | 1706 | } |
1707 | 1707 | ||