]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: canaan: k230: add NULL check in DT parse
authorZe Huang <huangze@whut.edu.cn>
Mon, 23 Jun 2025 16:11:13 +0000 (00:11 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 24 Jun 2025 19:36:14 +0000 (21:36 +0200)
Add a NULL check for the return value of of_get_property() when
retrieving the "pinmux" property in the group parser. This avoids
a potential NULL pointer dereference if the property is missing
from the device tree node.

Also fix a typo ("sintenel") in the device ID match table comment,
correcting it to "sentinel".

Fixes: 545887eab6f6 ("pinctrl: canaan: Add support for k230 SoC")
Reported-by: Yao Zi <ziyao@disroot.org>
Signed-off-by: Ze Huang <huangze@whut.edu.cn>
Link: https://lore.kernel.org/20250624-k230-return-check-v1-1-6b4fc5ba0c41@whut.edu.cn
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-k230.c

index a9b4627b46b01237801103df566b9391f8be21b8..4976308e62372c744738dd8372e73b2494e38e0b 100644 (file)
@@ -477,6 +477,10 @@ static int k230_pinctrl_parse_groups(struct device_node *np,
        grp->name = np->name;
 
        list = of_get_property(np, "pinmux", &size);
+       if (!list) {
+               dev_err(dev, "failed to get pinmux property\n");
+               return -EINVAL;
+       }
        size /= sizeof(*list);
 
        grp->num_pins = size;
@@ -623,7 +627,7 @@ static int k230_pinctrl_probe(struct platform_device *pdev)
 
 static const struct of_device_id k230_dt_ids[] = {
        { .compatible = "canaan,k230-pinctrl", },
-       { /* sintenel */ }
+       { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, k230_dt_ids);