clk: davinci: Add NULL check in davinci_lpsc_clk_register()
authorHenry Martin <bsdhenrymartin@gmail.com>
Tue, 1 Apr 2025 13:13:41 +0000 (21:13 +0800)
committerStephen Boyd <sboyd@kernel.org>
Thu, 19 Jun 2025 23:48:09 +0000 (16:48 -0700)
devm_kasprintf() returns NULL when memory allocation fails. Currently,
davinci_lpsc_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 and ensuring
no resources are left allocated.

Fixes: c6ed4d734bc7 ("clk: davinci: New driver for davinci PSC clocks")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Link: https://lore.kernel.org/r/20250401131341.26800-1-bsdhenrymartin@gmail.com
Reviewed-by: David Lechner <david@lechnology.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/davinci/psc.c

index b48322176c21016218ce5f849e8f8f82212aadf2..f3ee9397bb0c78d37775a80c70956f4482909231 100644 (file)
@@ -277,6 +277,11 @@ davinci_lpsc_clk_register(struct device *dev, const char *name,
 
        lpsc->pm_domain.name = devm_kasprintf(dev, GFP_KERNEL, "%s: %s",
                                              best_dev_name(dev), name);
+       if (!lpsc->pm_domain.name) {
+               clk_hw_unregister(&lpsc->hw);
+               kfree(lpsc);
+               return ERR_PTR(-ENOMEM);
+       }
        lpsc->pm_domain.attach_dev = davinci_psc_genpd_attach_dev;
        lpsc->pm_domain.detach_dev = davinci_psc_genpd_detach_dev;
        lpsc->pm_domain.flags = GENPD_FLAG_PM_CLK;