alarmtimer: Prevent overflow of relative timers
[pandora-kernel.git] / kernel / time / alarmtimer.c
index 7eaf162..9c53e04 100644 (file)
@@ -419,7 +419,7 @@ u64 alarm_forward(struct alarm *alarm, ktime_t now, ktime_t interval)
                overrun++;
        }
 
-       alarm->node.expires = ktime_add(alarm->node.expires, interval);
+       alarm->node.expires = ktime_add_safe(alarm->node.expires, interval);
        return overrun;
 }
 
@@ -604,7 +604,7 @@ static int alarm_timer_set(struct k_itimer *timr, int flags,
                ktime_t now;
 
                now = alarm_bases[timr->it.alarm.alarmtimer.type].gettime();
-               exp = ktime_add(now, exp);
+               exp = ktime_add_safe(now, exp);
        }
 
        alarm_start(&timr->it.alarm.alarmtimer, exp);