]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rtc: msc313: fix NULL deref in shared IRQ handler at probe
authorStepan Ionichev <sozdayvek@gmail.com>
Mon, 11 May 2026 03:27:03 +0000 (08:27 +0500)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 22 Jun 2026 22:13:35 +0000 (00:13 +0200)
commita369f48be8de426a7d2bca18dbd46c2ad1138803
treed537fbeb395ee71d0d765a4f2164c6ff22eaea09
parenta50b23a57fce4157156014bc00b0cf9f4ab1a69f
rtc: msc313: fix NULL deref in shared IRQ handler at probe

msc313_rtc_probe() calls devm_request_irq() with IRQF_SHARED and
&pdev->dev as the cookie, but platform_set_drvdata() is only called
later after the clock setup. With a shared IRQ line, another device
on the same line can trigger the handler in that window. The
handler does dev_get_drvdata() on the cookie, gets NULL, and
dereferences priv->rtc_base in interrupt context.

Pass priv as the cookie directly so the handler reads it from
dev_id without the lookup, removing the dependency on probe order.

Fixes: be7d9c9161b9 ("rtc: Add support for the MSTAR MSC313 RTC")
Signed-off-by: Stepan Ionichev <sozdayvek@gmail.com>
Link: https://patch.msgid.link/20260511032703.48262-1-sozdayvek@gmail.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-msc313.c