summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2026-09-03 12:09:25 +0200
committerBrian Masney <bmasney@redhat.com>2026-09-11 19:43:11 -0400
commita2ef401bdfd19aa41d0e3e1b630a12fbc01ac184 (patch)
tree2de8f4bfae514068a6a251d2abbdd4ec8f63eaf4
parentad0252c5615a47d2c97de84bbc2570d25bbd0512 (diff)
downloadlinux-next-a2ef401bdfd19aa41d0e3e1b630a12fbc01ac184.tar.gz
linux-next-a2ef401bdfd19aa41d0e3e1b630a12fbc01ac184.zip
clk: rs9: Add clock index range check to rs9_of_clk_get()
rs9_of_clk_get() does not validate the clock index in the passed DT clock specifier. If DT specifies an incorrect and out-of-range index, this will access memory beyond the end of the clk_dif[] array. Fix by this adding a range check to rs9_of_clk_get(). Fixes: 892e0ddea1aa6f70 ("clk: rs9: Add Renesas 9-series PCIe clock generator driver") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Brian Masney <bmasney@redhat.com>
-rw-r--r--drivers/clk/clk-renesas-pcie.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/clk/clk-renesas-pcie.c b/drivers/clk/clk-renesas-pcie.c
index 564550c80389..f3376c29007a 100644
--- a/drivers/clk/clk-renesas-pcie.c
+++ b/drivers/clk/clk-renesas-pcie.c
@@ -276,6 +276,11 @@ rs9_of_clk_get(struct of_phandle_args *clkspec, void *data)
struct rs9_driver_data *rs9 = data;
unsigned int idx = clkspec->args[0];
+ if (idx >= rs9->chip_info->num_clks) {
+ pr_err("%s: Invalid clock index %u\n", __func__, idx);
+ return ERR_PTR(-EINVAL);
+ }
+
return rs9->clk_dif[idx];
}