clk: bcm: rpi: Add NULL check in raspberrypi_clk_register()
authorHenry Martin <bsdhenrymartin@gmail.com>
Wed, 2 Apr 2025 02:05:13 +0000 (10:05 +0800)
committerStephen Boyd <sboyd@kernel.org>
Tue, 6 May 2025 21:41:55 +0000 (14:41 -0700)
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: 93d2725affd6 ("clk: bcm: rpi: Discover the firmware clocks")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20250402020513.42628-1-bsdhenrymartin@gmail.com
Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/bcm/clk-raspberrypi.c

index 9bc11bafa41a0c37392f8bc8d56b6410584a8369..8e4fde03ed232b464165f524d27744b4ced93a60 100644 (file)
@@ -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;