diff options
| author | Geert Uytterhoeven <geert+renesas@glider.be> | 2026-09-03 12:09:25 +0200 |
|---|---|---|
| committer | Brian Masney <bmasney@redhat.com> | 2026-09-11 19:43:11 -0400 |
| commit | a2ef401bdfd19aa41d0e3e1b630a12fbc01ac184 (patch) | |
| tree | 2de8f4bfae514068a6a251d2abbdd4ec8f63eaf4 | |
| parent | ad0252c5615a47d2c97de84bbc2570d25bbd0512 (diff) | |
| download | linux-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.c | 5 |
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]; } |
