Re: [PATCH v1] clk: bcm: Add NULL check in raspberrypi_clk_register()

From: Dave Stevenson
Date: Tue Apr 01 2025 - 14:03:15 EST


Hi Henry

Thanks for the patch.

On Tue, 1 Apr 2025 at 14:23, Henry Martin <bsdhenrymartin@xxxxxxxxx> wrote:
>
> devm_kasprintf() returns NULL when memory allocation fails. Currently,
> raspberrypi_clk_register() does not check for this case, which results
> in a NULL pointer dereference.
>
> Add NULL check after devm_kasprintf() to prevent this issue.
>
> Fixes: 7dad8a613185 ("clk: bcm: rpi: Give firmware clocks a name")

Nit: It was 93d2725affd6 ("clk: bcm: rpi: Discover the firmware
clocks") that introduced the devm_kasprintf. 7dad8a613185 only changed
the thing being printed.

> Signed-off-by: Henry Martin <bsdhenrymartin@xxxxxxxxx>

Reviewed-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>

> ---
> drivers/clk/bcm/clk-raspberrypi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clk/bcm/clk-raspberrypi.c b/drivers/clk/bcm/clk-raspberrypi.c
> index 0e1fe3759530..720acc10f8aa 100644
> --- a/drivers/clk/bcm/clk-raspberrypi.c
> +++ b/drivers/clk/bcm/clk-raspberrypi.c
> @@ -286,6 +286,8 @@ static struct clk_hw *raspberrypi_clk_register(struct raspberrypi_clk *rpi,
> init.name = devm_kasprintf(rpi->dev, GFP_KERNEL,
> "fw-clk-%s",
> rpi_firmware_clk_names[id]);
> + if (!init.name)
> + return ERR_PTR(-ENOMEM);
> init.ops = &raspberrypi_firmware_clk_ops;
> init.flags = CLK_GET_RATE_NOCACHE;
>
> --
> 2.34.1
>