The patch titled hrtimer: prevent overrun DoS in hrtimer_forward() has been added to the -mm tree. Its filename is hrtimer-prevent-overrun-dos-in-hrtimer_forward.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: hrtimer: prevent overrun DoS in hrtimer_forward() From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> hrtimer_forward() does not check for the possible overflow of timer->expires. This can happen on 64 bit machines with large interval values and results currently in an endless loop in the softirq because the expiry value becomes negative and therefor the timer is expired all the time. Check for this condition and set the expiry value to the max. expiry time in the future. The fix should be applied to stable kernel series as well. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/hrtimer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff -puN kernel/hrtimer.c~hrtimer-prevent-overrun-dos-in-hrtimer_forward kernel/hrtimer.c --- a/kernel/hrtimer.c~hrtimer-prevent-overrun-dos-in-hrtimer_forward +++ a/kernel/hrtimer.c @@ -644,6 +644,12 @@ hrtimer_forward(struct hrtimer *timer, k orun++; } timer->expires = ktime_add(timer->expires, interval); + /* + * Make sure, that the result did not wrap with a very large + * interval. + */ + if (timer->expires.tv64 < 0) + timer->expires = ktime_set(KTIME_SEC_MAX, 0); return orun; } _ Patches currently in -mm which might be from tglx@xxxxxxxxxxxxx are hrtimer-prevent-overrun-dos-in-hrtimer_forward.patch paravirt-build-fixes.patch scheduled-removal-of-sa_xxx-interrupt-flags-fixups-4.patch git-ieee1394.patch log-reason-why-tsc-was-marked-unstable.patch optimize-timespec_trunc.patch sched-fix-idle-load-balancing-in-softirqd-context.patch sched-dynticks-idle-load-balancing-v3.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html