On Mon, Jan 6, 2020 at 12:37 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > 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: 8c82723414d5 ("clocksource/drivers/timer-ti-dm: Switch to platform_get_irq") > Cc: Yangtao Li <tiny.windzz@xxxxxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> > --- > > I did not notice simlar issue with other patches in the series, but > please do double check Yangtao. Yeah, this even seems to be caught at build (but our builds have been so noisy with warnings lately that they're hard to spot): /build/drivers/clocksource/timer-ti-dm.c: In function 'omap_dm_timer_probe': /build/drivers/clocksource/timer-ti-dm.c:798:13: warning: 'timer' may be used uninitialized in this function [-Wmaybe-uninitialized] 798 | timer->irq = platform_get_irq(pdev, 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ -Olof