David Kozub
eb39a7c035
clockevents/drivers/cs5535: Improve resilience to spurious interrupts
...
The interrupt handler mfgpt_tick() is not robust versus spurious interrupts
which happen before the clock event device is registered and fully
initialized.
The reason is that the safe guard against spurious interrupts solely checks
for the clockevents shutdown state, but lacks a check for detached
state. If the interrupt hits while the device is in detached state it
passes the safe guard and dereferences the event handler call back which is
NULL.
Add the missing state check.
Fixes: 8f9327cbb6 ("clockevents/drivers/cs5535: Migrate to new 'set-state' interface")
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Kozub <zub@linux.fjfi.cvut.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20171020093103.3317F6004D@linux.fjfi.cvut.cz
2017-10-20 13:41:52 +02:00
..
acpi_pm.c
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
arc_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
arm_arch_timer.c
Merge branch 'linus' into locking/core, to pick up fixes
2017-08-25 11:04:51 +02:00
arm_global_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
armv7m_systick.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
asm9260_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
bcm2835_timer.c
clocksource/drivers/bcm2835: Remove message for a memory allocation failure
2017-08-29 15:23:31 +02:00
bcm_kona_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
cadence_ttc_timer.c
Merge branch 'timers/urgent' into timers/core
2017-06-21 09:07:52 +02:00
clksrc-dbx500-prcmu.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
clksrc_st_lpc.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
clps711x-timer.c
clocksource/drivers: Rename CLKSRC_OF to TIMER_OF
2017-06-14 12:01:03 +02:00
cs5535-clockevt.c
clockevents/drivers/cs5535: Improve resilience to spurious interrupts
2017-10-20 13:41:52 +02:00
dummy_timer.c
cpu/hotplug: Cleanup state names
2016-12-25 10:47:44 +01:00
dw_apb_timer.c
Merge branch 'clockevents/4.12' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core
2017-04-17 10:55:14 +02:00
dw_apb_timer_of.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
em_sti.c
clocksource/drivers/em_sti: Fix error return codes in em_sti_probe()
2017-08-10 14:48:18 +02:00
exynos_mct.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
fsl_ftm_timer.c
clocksource/drivers/fsl_ftm_timer: Unmap region obtained by of_iomap
2017-06-27 11:25:39 +02:00
h8300_timer8.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
h8300_timer16.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
h8300_tpu.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
i8253.c
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
jcore-pit.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
Kconfig
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-09-04 13:06:34 -07:00
Makefile
clocksource/drivers/imx-tpm: Add imx tpm timer support
2017-08-29 11:07:56 +02:00
meson6_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
metag_generic.c
clockevents/drivers/metag: Set ->min_delta_ticks and ->max_delta_ticks
2017-04-14 13:11:13 -07:00
mips-gic-timer.c
clocksource: mips-gic-timer: Use new GIC accessor functions
2017-08-30 14:30:07 +02:00
mmio.c
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
mps2-timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
mtk_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
mxs_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
nomadik-mtu.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
numachip.c
x86/numachip: Add const and __initconst to numachip2_clockevent
2017-09-25 09:36:15 +02:00
owl-timer.c
clocksource: owl: Add S900 support
2017-06-18 21:20:06 +02:00
pxa_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
qcom-timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
renesas-ostm.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
rockchip_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
samsung_pwm_timer.c
clocksource/drivers: Rename CLKSRC_OF to TIMER_OF
2017-06-14 12:01:03 +02:00
scx200_hrt.c
clocksource: Use a plain u64 instead of cycle_t
2016-12-25 11:04:12 +01:00
sh_cmt.c
clockevents/drivers/sh_cmt: Set ->min_delta_ticks and ->max_delta_ticks
2017-04-14 13:11:15 -07:00
sh_mtu2.c
sh_tmu.c
clocksource: sh_tmu: Compute rate before registration again
2017-03-23 12:14:01 -07:00
sun4i_timer.c
clocksource/drivers/sun4i: Switch to the timer-of common init
2017-06-26 18:32:04 +02:00
tango_xtal.c
clocksource: Convert to using %pOF instead of full_name
2017-08-31 15:56:17 +02:00
tcb_clksrc.c
clocksource/drivers/tcb_clksrc: Make IO endian agnostic
2017-06-27 11:25:20 +02:00
tegra20_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
time-armada-370-xp.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
time-efm32.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
time-lpc32xx.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
time-orion.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
time-pistachio.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-atlas7.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-atmel-pit.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-atmel-st.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-digicolor.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-fttmr010.c
clocksource/drivers/fttmr010: Factor out clock read code
2017-06-14 12:02:50 +02:00
timer-imx-gpt.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-imx-tpm.c
clocksource/drivers/imx-tpm: Add imx tpm timer support
2017-08-29 11:07:56 +02:00
timer-integrator-ap.c
clocksource/integrator: Fix section mismatch warning
2017-09-18 09:37:33 +02:00
timer-keystone.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-nps.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-of.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2017-09-04 13:06:34 -07:00
timer-of.h
clocksource/drivers: Add timer-of common init routine
2017-06-14 12:02:32 +02:00
timer-oxnas-rps.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-prima2.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-probe.c
clocksource: Convert to using %pOF instead of full_name
2017-08-31 15:56:17 +02:00
timer-sp.h
timer-sp804.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-stm32.c
clocksource: Convert to using %pOF instead of full_name
2017-08-31 15:56:17 +02:00
timer-sun5i.c
Merge branch 'timers/urgent' into timers/core
2017-06-21 09:07:52 +02:00
timer-ti-32k.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
timer-u300.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
versatile.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
vf_pit_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
vt8500_timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00
zevio-timer.c
clocksource/drivers: Rename CLOCKSOURCE_OF_DECLARE to TIMER_OF_DECLARE
2017-06-14 11:58:45 +02:00