clockevents: Sanitize min_delta_ns adjustment and prevent overflows
authorThomas Gleixner <tglx@linutronix.de>
Fri, 12 Mar 2010 16:34:14 +0000 (17:34 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 12 Mar 2010 18:10:29 +0000 (19:10 +0100)
commit80a05b9ffa7dc13f6693902dd8999a2b61a3a0d7
tree5612eeb26804b135de66779d1a00eaf35a4ceca1
parentad6759fbf35d104dbf573cd6f4c6784ad6823f7e
clockevents: Sanitize min_delta_ns adjustment and prevent overflows

The current logic which handles clock events programming failures can
increase min_delta_ns unlimited and even can cause overflows.

Sanitize it by:
 - prevent zero increase when min_delta_ns == 1
 - limiting min_delta_ns to a jiffie
 - bail out if the jiffie limit is hit
 - add retries stats for /proc/timer_list so we can gather data

Reported-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/clockchips.h
kernel/time/tick-oneshot.c
kernel/time/timer_list.c