diff options
author | Greg Hackmann <ghackmann@google.com> | 2017-07-25 12:42:46 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-27 15:10:25 -0700 |
commit | ccb1fe49efed135f58d9cd85600694a75e97d14f (patch) | |
tree | 534eb11e04070e3f617b988a586fed98f1b4cc11 | |
parent | 2de3bd0323818f5878f6bb6fa3f60ffacbe3aa47 (diff) |
alarmtimer: don't rate limit one-shot timers
Commit ff86bf0c65f1 ("alarmtimer: Rate limit periodic intervals") sets a
minimum bound on the alarm timer interval. This minimum bound shouldn't
be applied if the interval is 0. Otherwise, one-shot timers will be
converted into periodic ones.
This patch is specific to 4.11.y and 4.12.y. Older -stable trees have a
slightly different patch, and 4.13-rc2 isn't impacted due to a later
refactoring.
Fixes: ff86bf0c65f1 ("alarmtimer: Rate limit periodic intervals")
Reported-by: Ben Fennema <fennema@google.com>
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Cc: John Stultz <john.stultz@linaro.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | kernel/time/alarmtimer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index ee2f4202d82a..11e70a38497c 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -665,7 +665,7 @@ static int alarm_timer_set(struct k_itimer *timr, int flags, * Rate limit to the tick as a hot fix to prevent DOS. Will be * mopped up later. */ - if (timr->it.alarm.interval < TICK_NSEC) + if (timr->it.alarm.interval && timr->it.alarm.interval < TICK_NSEC) timr->it.alarm.interval = TICK_NSEC; exp = timespec64_to_ktime(new_setting->it_value); |