diff options
Diffstat (limited to 'kernel/time/alarmtimer.c')
| -rw-r--r-- | kernel/time/alarmtimer.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 0e9263f6fd0..ea5e1a928d5 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -481,6 +481,15 @@ static int alarm_timer_set(struct k_itimer *timr, int flags,  	if (!rtcdev)  		return -ENOTSUPP; +	/* +	 * XXX HACK! Currently we can DOS a system if the interval +	 * period on alarmtimers is too small. Cap the interval here +	 * to 100us and solve this properly in a future patch! -jstultz +	 */ +	if ((new_setting->it_interval.tv_sec == 0) && +			(new_setting->it_interval.tv_nsec < 100000)) +		new_setting->it_interval.tv_nsec = 100000; +  	if (old_setting)  		alarm_timer_get(timr, old_setting);  |