]> git.baikalelectronics.ru Git - kernel.git/commit
clocksource/drivers/timer-ti-dm: Fix uninitialized pointer access
authorTony Lindgren <tony@atomide.com>
Mon, 6 Jan 2020 20:37:00 +0000 (12:37 -0800)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 16 Jan 2020 18:09:02 +0000 (19:09 +0100)
commit8f5facbd032d4667164db8c77608c669dc815dd2
tree09f4afc9a6f6f48f389913c7b6a174bf7ea0231f
parentae88e6079838e4e8365a05d1e66c25daf7b2e57f
clocksource/drivers/timer-ti-dm: Fix uninitialized pointer access

Clean-up commit 8c82723414d5 ("clocksource/drivers/timer-ti-dm: Switch to
platform_get_irq") caused a regression where we now try to access
uninitialized data for timer:

drivers/clocksource/timer-ti-dm.c: In function 'omap_dm_timer_probe':
drivers/clocksource/timer-ti-dm.c:798:13: warning: 'timer' may be used
uninitialized in this function [-Wmaybe-uninitialized]

On boot we now get:

Unable to handle kernel NULL pointer dereference at virtual address
00000004
...
(omap_dm_timer_probe) from [<c061ac7c>] (platform_drv_probe+0x48/0x98)
(platform_drv_probe) from [<c0618c04>] (really_probe+0x1dc/0x348)
(really_probe) from [<c0618ef4>] (driver_probe_device+0x5c/0x160)

Let's fix the issue by moving platform_get_irq to happen after timer has
been allocated.

Fixes: ae88e6079838 ("clocksource/drivers/timer-ti-dm: Switch to platform_get_irq")
Cc: Yangtao Li <tiny.windzz@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Yangtao Li <tiny.windzz@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200106203700.21009-1-tony@atomide.com
drivers/clocksource/timer-ti-dm.c