Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

watchdog: lenovo_se30_wdt: Fix possible devm_ioremap() NULL pointer dereference in lenovo_se30_wdt_probe()

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>
Link: https://lore.kernel.org/r/20250424071648.89016-1-bsdhenrymartin@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>

authored by

Henry Martin and committed by
Wim Van Sebroeck
a4e24014 53663d2c

+2
+2
drivers/watchdog/lenovo_se30_wdt.c
··· 271 271 return -EBUSY; 272 272 273 273 priv->shm_base_addr = devm_ioremap(dev, base_phys, SHM_WIN_SIZE); 274 + if (!priv->shm_base_addr) 275 + return -ENOMEM; 274 276 275 277 priv->wdt_cfg.mod = WDT_MODULE; 276 278 priv->wdt_cfg.idx = WDT_CFG_INDEX;