[PATCH] gpio: shared: fix a NULL-pointer dereference
From: Bartosz Golaszewski
Date: Tue Nov 18 2025 - 15:05:09 EST
From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
The fact that CONFIG_OF is enabled does not mean that the device tree is
populated and that of_root points to a valid device node. Check if it's
NULL before trying to traverse the tree.
Fixes: a060b8c511ab ("gpiolib: implement low-level, shared GPIO support")
Reported-by: Mark Brown <broonie@xxxxxxxxxx>
Closes: https://lore.kernel.org/all/dbe20642-9662-40af-a593-c1263baea73b@xxxxxxxxxxxxx/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
---
drivers/gpio/gpiolib-shared.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/gpiolib-shared.c b/drivers/gpio/gpiolib-shared.c
index c22eaf05eef23..4ce574a21850b 100644
--- a/drivers/gpio/gpiolib-shared.c
+++ b/drivers/gpio/gpiolib-shared.c
@@ -205,7 +205,10 @@ static int gpio_shared_of_traverse(struct device_node *curr)
static int gpio_shared_of_scan(void)
{
- return gpio_shared_of_traverse(of_root);
+ if (of_root)
+ return gpio_shared_of_traverse(of_root);
+
+ return 0;
}
#else
static int gpio_shared_of_scan(void)
--
2.51.0