linux-imx/kernel/time
Thomas Gleixner ed470f1173 tick/broadcast: Prevent NULL pointer dereference
commit c1a9eeb938 upstream.

When a disfunctional timer, e.g. dummy timer, is installed, the tick core
tries to setup the broadcast timer.

If no broadcast device is installed, the kernel crashes with a NULL pointer
dereference in tick_broadcast_setup_oneshot() because the function has no
sanity check.

Reported-by: Mason <slash.tmp@free.fr>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
Cc: Richard Cochran <rcochran@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Cc: Sebastian Frias <sf84@laposte.net>
Cc: Thibaud Cornic <thibaud_cornic@sigmadesigns.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Link: http://lkml.kernel.org/r/1147ef90-7877-e4d2-bb2b-5c4fa8d3144b@free.fr
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2017-01-26 17:40:21 +01:00
..
alarmtimer.c alarmtimer: Lock k_itimer during timer callback 2014-10-13 15:41:34 +02:00
clockevents.c clockevents: export clockevents_unbind_device instead of clockevents_unbind 2016-10-06 08:22:02 +02:00
clocksource.c clocksource: Reselect clocksource when watchdog validated high-res capability 2013-07-05 11:09:28 +02:00
jiffies.c time: Fix overflow when HZ is smaller than 60 2014-02-22 13:32:29 -08:00
Kconfig Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 09:36:54 -07:00
Makefile sched_clock: Make ARM's sched_clock generic for all architectures 2013-06-12 14:02:13 -07:00
ntp_internal.h ntp: Rework do_adjtimex to take timespec and tai arguments 2013-04-04 13:18:15 -07:00
ntp.c ntp: Fixup adjtimex freq validation on 32-bit systems 2015-04-09 14:13:23 +02:00
posix-clock.c posix-clock: Fix return code on the poll method's error path 2016-03-03 12:46:02 +01:00
sched_clock.c sched_clock: Fix integer overflow 2013-07-22 16:24:22 -07:00
tick-broadcast.c tick/broadcast: Prevent NULL pointer dereference 2017-01-26 17:40:21 +01:00
tick-common.c tick-common: Fix wrong check in tick_check_replacement() 2014-05-29 11:38:11 +02:00
tick-internal.h clockevents: Define CS_NAME_LEN unconditionally 2013-05-28 09:28:02 +02:00
tick-oneshot.c clockevents: Make minimum delay adjustments configurable 2011-09-08 11:10:56 +02:00
tick-sched.c tick/powerclamp: Remove tick_nohz_idle abuse 2015-01-26 14:39:29 +01:00
timeconv.c time: add function to convert between calendar time and broken-down time for universal use 2009-09-24 07:20:56 -07:00
timekeeping_debug.c timekeeping: Cap array access in timekeeping_debug 2016-09-29 11:14:13 +02:00
timekeeping_internal.h power: Add option to log time spent in suspend 2013-05-29 12:57:34 -07:00
timekeeping.c timekeeping: Fix missing timekeeping_update in suspend path 2014-02-13 13:50:26 -08:00
timer_list.c timer_list: correct the iterator for timer_list 2013-08-28 19:26:38 -07:00
timer_stats.c locking, timer_stats: Annotate table_lock as raw 2011-09-13 11:12:00 +02:00