summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2026-03-24 05:11:03 +0300
committerGeert Uytterhoeven <geert+renesas@glider.be>2026-03-25 20:28:38 +0300
commit0e590f4d99e2bd47cfd9e4e49228473548972285 (patch)
tree7008b9aac1be788954f7046aecd38c2db1d78afe
parentd85cb4ff46c7b7f393b30666a41fff18962ba21a (diff)
downloadlinux-0e590f4d99e2bd47cfd9e4e49228473548972285.tar.xz
clk: renesas: cpg-mssr: Use struct_size() helper
struct_size() is what is normally used when a flexible array member is present to avoid accidental mistakes. pm_size is still needed for the memcpy() call below. Added __counted_by for extra runtime analysis. Signed-off-by: Rosen Penev <rosenp@gmail.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://patch.msgid.link/20260324021103.13651-1-rosenp@gmail.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-rw-r--r--drivers/clk/renesas/renesas-cpg-mssr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
index 64a432fd0e8a..26ea85cfaa02 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
@@ -569,7 +569,7 @@ fail:
struct cpg_mssr_clk_domain {
struct generic_pm_domain genpd;
unsigned int num_core_pm_clks;
- unsigned int core_pm_clks[];
+ unsigned int core_pm_clks[] __counted_by(num_core_pm_clks);
};
static struct cpg_mssr_clk_domain *cpg_mssr_clk_domain;
@@ -667,7 +667,7 @@ static int __init cpg_mssr_add_clk_domain(struct device *dev,
size_t pm_size = num_core_pm_clks * sizeof(core_pm_clks[0]);
int ret;
- pd = devm_kzalloc(dev, sizeof(*pd) + pm_size, GFP_KERNEL);
+ pd = devm_kzalloc(dev, struct_size(pd, core_pm_clks, num_core_pm_clks), GFP_KERNEL);
if (!pd)
return -ENOMEM;