diff mbox series

pinctrl: Fix potential NULL pointer dereference

Message ID 20250210232552.1545887-1-chenyuan0y@gmail.com (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show
Series pinctrl: Fix potential NULL pointer dereference | expand

Commit Message

Chenyuan Yang Feb. 10, 2025, 11:25 p.m. UTC
The `chip.label` could be NULL. Add missing check in the
rza2_gpio_register().
This is similar to commit 3027e7b15b02 
("ice: Fix some null pointer dereference issues in ice_ptp.c").
Besides, mediatek_gpio_bank_probe() in drivers/gpio/gpio-mt7621.c also
has a very similar check.

Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
---
 drivers/pinctrl/renesas/pinctrl-rza2.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Geert Uytterhoeven Feb. 11, 2025, 7:38 a.m. UTC | #1
On Tue, 11 Feb 2025 at 00:25, Chenyuan Yang <chenyuan0y@gmail.com> wrote:
> The `chip.label` could be NULL. Add missing check in the
> rza2_gpio_register().
> This is similar to commit 3027e7b15b02
> ("ice: Fix some null pointer dereference issues in ice_ptp.c").
> Besides, mediatek_gpio_bank_probe() in drivers/gpio/gpio-mt7621.c also
> has a very similar check.
>
> Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-pinctrl for v6.15.

Gr{oetje,eeting}s,

                        Geert
Matthias Brugger Feb. 12, 2025, 8:35 a.m. UTC | #2
On 11/02/2025 00:25, Chenyuan Yang wrote:
> The `chip.label` could be NULL. Add missing check in the
> rza2_gpio_register().
> This is similar to commit 3027e7b15b02
> ("ice: Fix some null pointer dereference issues in ice_ptp.c").
> Besides, mediatek_gpio_bank_probe() in drivers/gpio/gpio-mt7621.c also
> has a very similar check.
> 
> Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
>   drivers/pinctrl/renesas/pinctrl-rza2.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/pinctrl/renesas/pinctrl-rza2.c b/drivers/pinctrl/renesas/pinctrl-rza2.c
> index dd1f8c29d3e7..3da8b0d389c9 100644
> --- a/drivers/pinctrl/renesas/pinctrl-rza2.c
> +++ b/drivers/pinctrl/renesas/pinctrl-rza2.c
> @@ -246,6 +246,9 @@ static int rza2_gpio_register(struct rza2_pinctrl_priv *priv)
>   	int ret;
>   
>   	chip.label = devm_kasprintf(priv->dev, GFP_KERNEL, "%pOFn", np);
> +	if (!chip.label)
> +		return -ENOMEM;
> +
>   	chip.parent = priv->dev;
>   	chip.ngpio = priv->npins;
>
Markus Elfring Feb. 12, 2025, 12:45 p.m. UTC | #3
> The `chip.label` could be NULL. Add missing check in the
> rza2_gpio_register().

Another wording suggestion:
The data structure member “chip.label” could become NULL
after a failed devm_kasprintf() call in the implementation
of the function “rza2_gpio_register”.
Thus add a check for such a return value.


How do you think about to add any tags (like “Fixes” and “Cc”) accordingly?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.14-rc2#n145


Can a summary phrase like “Prevent null pointer dereference in rza2_gpio_register()”
be nicer?


> This is similar to commit 3027e7b15b02
> ("ice: Fix some null pointer dereference issues in ice_ptp.c").
> Besides, mediatek_gpio_bank_probe() in drivers/gpio/gpio-mt7621.c also
> has a very similar check.

I find such auxiliary information not so relevant here.

Regards,
Markus
diff mbox series

Patch

diff --git a/drivers/pinctrl/renesas/pinctrl-rza2.c b/drivers/pinctrl/renesas/pinctrl-rza2.c
index dd1f8c29d3e7..3da8b0d389c9 100644
--- a/drivers/pinctrl/renesas/pinctrl-rza2.c
+++ b/drivers/pinctrl/renesas/pinctrl-rza2.c
@@ -246,6 +246,9 @@  static int rza2_gpio_register(struct rza2_pinctrl_priv *priv)
 	int ret;
 
 	chip.label = devm_kasprintf(priv->dev, GFP_KERNEL, "%pOFn", np);
+	if (!chip.label)
+		return -ENOMEM;
+
 	chip.parent = priv->dev;
 	chip.ngpio = priv->npins;