Message ID | 20250424071648.89016-1-bsdhenrymartin@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v1] watchdog: lenovo_se30_wdt: Fix null-ptr-deref in lenovo_se30_wdt_probe() | expand |
On 4/24/25 00:16, Henry Martin wrote: > devm_ioremap() returns NULL on error. Currently, lenovo_se30_wdt_probe() > does not check for this case, which results in a NULL pointer > dereference. > > Add NULL check after devm_ioremap() to prevent this issue. > > Fixes: c284153a2c55 ("watchdog: lenovo_se30_wdt: Watchdog driver for Lenovo SE30 platform") > Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> > --- > drivers/watchdog/lenovo_se30_wdt.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/watchdog/lenovo_se30_wdt.c b/drivers/watchdog/lenovo_se30_wdt.c > index 024b842499b3..1c73bb7eeeee 100644 > --- a/drivers/watchdog/lenovo_se30_wdt.c > +++ b/drivers/watchdog/lenovo_se30_wdt.c > @@ -271,6 +271,8 @@ static int lenovo_se30_wdt_probe(struct platform_device *pdev) > return -EBUSY; > > priv->shm_base_addr = devm_ioremap(dev, base_phys, SHM_WIN_SIZE); > + if (!priv->shm_base_addr) > + return -ENOMEM; > > priv->wdt_cfg.mod = WDT_MODULE; > priv->wdt_cfg.idx = WDT_CFG_INDEX;
…
> Add NULL check after devm_ioremap() to prevent this issue.
Would you get into the mood to replace the text “null-ptr-deref”
in the summary phrase?
Regards,
Markus
diff --git a/drivers/watchdog/lenovo_se30_wdt.c b/drivers/watchdog/lenovo_se30_wdt.c index 024b842499b3..1c73bb7eeeee 100644 --- a/drivers/watchdog/lenovo_se30_wdt.c +++ b/drivers/watchdog/lenovo_se30_wdt.c @@ -271,6 +271,8 @@ static int lenovo_se30_wdt_probe(struct platform_device *pdev) return -EBUSY; priv->shm_base_addr = devm_ioremap(dev, base_phys, SHM_WIN_SIZE); + if (!priv->shm_base_addr) + return -ENOMEM; priv->wdt_cfg.mod = WDT_MODULE; priv->wdt_cfg.idx = WDT_CFG_INDEX;
devm_ioremap() returns NULL on error. Currently, lenovo_se30_wdt_probe() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_ioremap() to prevent this issue. Fixes: c284153a2c55 ("watchdog: lenovo_se30_wdt: Watchdog driver for Lenovo SE30 platform") Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com> --- drivers/watchdog/lenovo_se30_wdt.c | 2 ++ 1 file changed, 2 insertions(+)