Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Ingo Molnar: "Fix a division by zero crash in the posix-timers code" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-timers: Fix division by zero bug
This commit is contained in:
commit
e572fa0e84
|
@ -289,9 +289,6 @@ static void common_hrtimer_rearm(struct k_itimer *timr)
|
||||||
{
|
{
|
||||||
struct hrtimer *timer = &timr->it.real.timer;
|
struct hrtimer *timer = &timr->it.real.timer;
|
||||||
|
|
||||||
if (!timr->it_interval)
|
|
||||||
return;
|
|
||||||
|
|
||||||
timr->it_overrun += hrtimer_forward(timer, timer->base->get_time(),
|
timr->it_overrun += hrtimer_forward(timer, timer->base->get_time(),
|
||||||
timr->it_interval);
|
timr->it_interval);
|
||||||
hrtimer_restart(timer);
|
hrtimer_restart(timer);
|
||||||
|
@ -317,7 +314,7 @@ void posixtimer_rearm(struct kernel_siginfo *info)
|
||||||
if (!timr)
|
if (!timr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (timr->it_requeue_pending == info->si_sys_private) {
|
if (timr->it_interval && timr->it_requeue_pending == info->si_sys_private) {
|
||||||
timr->kclock->timer_rearm(timr);
|
timr->kclock->timer_rearm(timr);
|
||||||
|
|
||||||
timr->it_active = 1;
|
timr->it_active = 1;
|
||||||
|
|
Loading…
Reference in New Issue