diff mbox series

pinctrl: nomadik: fix dereference of error pointer

Message ID 20240306-mbly-gpio-err-fix-v1-1-a3605ba2336f@bootlin.com
State New
Headers show
Series pinctrl: nomadik: fix dereference of error pointer | expand

Commit Message

Théo Lebrun March 6, 2024, 4:19 p.m. UTC
If nmk_gpio_populate_chip() returns an error, avoid deferencing its
return value.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/linux-gpio/5ee722f8-7582-420d-8477-45be6acde90f@moroto.mountain/
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Fix a smatch-reported potential bug. Thanks Dan for the bug report.
---
 drivers/pinctrl/nomadik/pinctrl-nomadik.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


---
base-commit: 7d2b279d9db028a2c1095668296defb18aabcb0f
change-id: 20240306-mbly-gpio-err-fix-533118c7fe7a

Best regards,

Comments

Linus Walleij March 6, 2024, 7:47 p.m. UTC | #1
On Wed, Mar 6, 2024 at 5:19 PM Théo Lebrun <theo.lebrun@bootlin.com> wrote:

> If nmk_gpio_populate_chip() returns an error, avoid deferencing its
> return value.
>
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Closes: https://lore.kernel.org/linux-gpio/5ee722f8-7582-420d-8477-45be6acde90f@moroto.mountain/
> Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
> ---
> Fix a smatch-reported potential bug. Thanks Dan for the bug report.

Patch applied!

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
index 47d5484f6bdf..cb0f0d5a5e45 100644
--- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c
+++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
@@ -1228,9 +1228,10 @@  static int nmk_pinctrl_probe(struct platform_device *pdev)
 		if (IS_ERR(nmk_chip))
 			dev_err(&pdev->dev,
 				"could not populate nmk chip struct - continue anyway\n");
+		else
+			/* We are NOT compatible with mobileye,eyeq5-gpio. */
+			BUG_ON(nmk_chip->is_mobileye_soc);
 		fwnode_handle_put(gpio_fwnode);
-		/* We are NOT compatible with mobileye,eyeq5-gpio. */
-		BUG_ON(nmk_chip->is_mobileye_soc);
 	}
 
 	prcm_fwnode = fwnode_find_reference(fwnode, "prcm", 0);