linux/drivers/clk
Marek Vasut 5ec820fc28
clk: rs9: Reserve 8 struct clk_hw slots for for 9FGV0841
The 9FGV0841 has 8 outputs and registers 8 struct clk_hw, make sure
there are 8 slots for those newly registered clk_hw pointers, else
there is going to be out of bounds write when pointers 4..7 are set
into struct rs9_driver_data .clk_dif[4..7] field.

Since there are other structure members past this struct clk_hw
pointer array, writing to .clk_dif[4..7] fields corrupts both
the struct rs9_driver_data content and data around it, sometimes
without crashing the kernel. However, the kernel does surely
crash when the driver is unbound or during suspend.

Fix this, increase the struct clk_hw pointer array size to the
maximum output count of 9FGV0841, which is the biggest chip that
is supported by this driver.

Cc: stable@vger.kernel.org
Fixes: f0e5e18002 ("clk: rs9: Add support for 9FGV0841")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Closes: https://lore.kernel.org/CAMuHMdVyQpOBT+Ho+mXY07fndFN9bKJdaaWGn91WOFnnYErLyg@mail.gmail.com
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2026-02-02 16:35:18 -08:00
..
actions clk: actions: Fix discarding const qualifier by 'container_of' macro 2025-11-20 19:23:43 -08:00
analogbits clk: analogbits: Fix incorrect calculation of vco rate delta 2025-01-16 13:43:49 -08:00
at91 bitmap updates for v6.19 2025-12-06 09:01:27 -08:00
axis
axs10x clk: axs10x: pll_clock: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
baikal-t1 clk: baikal-t1: ccu-pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
bcm Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
berlin clk: Fix typos 2025-07-26 23:49:18 -07:00
davinci clk: davinci: psc: drop unused reset lookup 2025-11-18 17:52:54 +01:00
hisilicon clk: hisilicon: hi6220-stub: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
imgtec clk: imgtec: use %pe for better readability of errors while printing 2025-03-04 12:15:25 -08:00
imx This pull request is entirely SoC clk drivers, not for lack of trying to modify 2025-12-08 09:38:52 +09:00
ingenic syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
keystone clk: keystone: syscon-clk: fix regmap leak on probe failure 2025-11-30 12:05:45 -08:00
mediatek Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
meson clk: amlogic: fix recent code refactoring 2025-09-19 21:58:50 -07:00
microchip reset: mpfs: add non-auxiliary bus probing 2025-11-11 16:47:24 +00:00
mmp Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
mstar clk: mstar: msc313-cpupll: convert from round_rate() to determine_rate() 2025-09-08 09:41:30 -04:00
mvebu soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
mxs clk: mxs: ref: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
nuvoton clk: nuvoton: ma35d1-pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
nxp Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
pistachio clk: pistachio: pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
pxa
qcom clk: qcom: Mark camcc_sm7150_hws static 2025-11-30 12:04:10 -08:00
ralink clk: ralink: mtmips: remove duplicated 'xtal' clock for Ralink SoC RT3883 2025-01-13 13:35:38 -08:00
renesas clk: renesas: Add missing log message terminators 2026-01-16 10:48:33 +01:00
rockchip This pull request is entirely SoC clk drivers, not for lack of trying to modify 2025-12-08 09:38:52 +09:00
samsung This pull request is entirely SoC clk drivers, not for lack of trying to modify 2025-12-08 09:38:52 +09:00
sifive clk: sifive: sifive-prci: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
socfpga clk: socfpga: agilex5: add clock driver for Agilex5 2025-10-22 22:52:58 -05:00
sophgo clk: sophgo: cv18xx-ip: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
spacemit clk: spacemit: Set clk_hw_onecell_data::num before using flex array 2025-11-20 19:02:16 -08:00
spear clk: spear: vco-pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:31 -04:00
sprd clk: sprd: sc9860: Simplify with of_device_get_match_data() 2025-11-10 17:02:12 -08:00
st Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
starfive clk: Fix typos 2025-07-26 23:49:18 -07:00
stm32 Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
sunxi clk: sunxi: Do not enable by default during compile testing 2025-04-27 13:49:18 +08:00
sunxi-ng clk: sunxi-ng: sun55i-a523-ccu: Lower audio0 pll minimum rate 2025-10-23 02:06:47 +08:00
tegra syscore: Pass context data to callbacks 2025-11-14 10:01:52 +01:00
thead Merge branches 'clk-bindings', 'clk-cleanup', 'clk-renesas', 'clk-thead' and 'clk-spacemit' into clk-next 2025-10-06 12:56:23 -05:00
ti Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
uniphier
ux500 clk: ux500: prcmu: convert from round_rate() to determine_rate() 2025-09-08 09:41:31 -04:00
versatile clk: versatile: vexpress-osc: convert from round_rate() to determine_rate() 2025-09-08 09:41:31 -04:00
visconti clk: visconti: Add VIIF clocks 2025-11-20 18:53:32 -08:00
x86 clk: x86: cgu: convert from round_rate() to determine_rate() 2025-09-08 09:41:25 -04:00
xilinx Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
zynq clk: zynq: pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
zynqmp clk: zynqmp: pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
.kunitconfig clk: Allow kunit tests to run without OF_OVERLAY enabled 2024-10-22 14:09:20 -07:00
clk-apple-nco.c clk: apple-nco: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk-asm9260.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-aspeed.c
clk-aspeed.h
clk-ast2600.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-axi-clkgen.c clk: clk-axi-clkgen: remove unneeded semicolon 2025-08-14 13:27:00 -07:00
clk-axm5516.c clk: remove unneeded 'fast_io' parameter in regmap_config 2025-08-14 12:50:35 -07:00
clk-bd718x7.c
clk-bm1880.c clk: bm1880: convert from round_rate() to determine_rate() 2025-09-08 09:41:30 -04:00
clk-bulk.c
clk-cdce706.c clk: cdce706: convert from round_rate() to determine_rate() 2025-09-08 09:41:30 -04:00
clk-cdce925.c clk: cdce925: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
clk-clps711x.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-composite.c
clk-conf.c clk: clk-conf: support assigned-clock-rates-u64 2024-08-16 15:21:19 -07:00
clk-cs2000-cp.c clk: cs2000-cp: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
clk-devres.c clk: Provide devm_clk_bulk_get_all_enabled() helper 2024-10-22 13:55:22 -07:00
clk-divider.c clk: divider: remove round_rate() in favor of determine_rate() 2025-09-08 09:41:31 -04:00
clk-en7523.c clk: en7523: Add reset-controller support for EN7523 SoC 2025-11-13 20:05:13 -08:00
clk-ep93xx.c Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
clk-eyeq.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-fixed-factor.c clk: fixed-factor: drop round_rate() clk ops 2025-09-08 09:41:31 -04:00
clk-fixed-mmio.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-rate.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-fixed-rate_test.c clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fixed-rate_test.h clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
clk-fractional-divider.c clk: fractional-divider: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
clk-fractional-divider.h
clk-fractional-divider_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-fsl-flexspi.c
clk-fsl-sai.c
clk-gate.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-gate_test.c clk: test: add missing MODULE_DESCRIPTION() macros 2024-06-03 15:46:46 -07:00
clk-gemini.c clk: gemini: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
clk-gpio.c clk: clk-gpio: add driver for gated-fixed-clocks 2024-10-16 11:20:42 -07:00
clk-hi655x.c
clk-highbank.c clk: highbank: convert from round_rate() to determine_rate() 2025-09-08 09:41:26 -04:00
clk-hsdk-pll.c clk: hsdk-pll: convert from round_rate() to determine_rate() 2025-09-08 09:41:30 -04:00
clk-k210.c
clk-lan966x.c clk: lan966x: remove unused dt-bindings include 2025-11-08 12:01:01 +02:00
clk-lmk04832.c clk: lmk04832: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
clk-lochnagar.c
clk-loongson1.c clk: loongson1: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
clk-loongson2.c clk: loongson2: Add clock definitions for Loongson-2K0300 SoC 2025-09-21 12:48:51 -07:00
clk-max9485.c clk: max9485: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
clk-max77686.c
clk-milbeaut.c clk: milbeaut: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
clk-moxart.c
clk-multiplier.c clk: multiplier: convert from round_rate() to determine_rate() 2025-09-08 09:41:27 -04:00
clk-mux.c
clk-nomadik.c clk: Use str_enable_disable-like helpers 2025-01-15 12:27:04 -08:00
clk-npcm7xx.c
clk-npcm8xx.c clk: npcm8xx: add clock controller 2024-10-17 15:17:51 -07:00
clk-nspire.c
clk-palmas.c clk: Switch back to struct platform_driver::remove() 2024-09-21 14:12:05 -07:00
clk-plldig.c
clk-pwm.c clk: pwm: Make use of non-sleeping PWMs 2025-06-19 18:09:58 -07:00
clk-qoriq.c clk: clk-qoriq: Replace of_node_put() with __free() 2024-10-09 16:01:00 -07:00
clk-renesas-pcie.c clk: rs9: Reserve 8 struct clk_hw slots for for 9FGV0841 2026-02-02 16:35:18 -08:00
clk-rk808.c
clk-rp1.c clk: rp1: convert from round_rate() to determine_rate() 2025-09-03 14:58:19 -07:00
clk-rpmi.c clk: Add clock driver for the RISC-V RPMI clock service group 2025-09-25 13:16:48 -06:00
clk-s2mps11.c clk: s2mps11: add support for S2MPG10 PMIC clock 2025-09-21 10:43:18 -07:00
clk-scmi.c Merge branch 'clk-determine-rate' into clk-next 2025-10-06 13:02:50 -05:00
clk-scpi.c clk: scpi: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si514.c clk: si514: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si521xx.c clk: si521xx: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si544.c clk: si544: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si570.c clk: si570: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si5341.c clk: si5341: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-si5351.c clk: Fix typos 2025-07-26 23:49:18 -07:00
clk-si5351.h
clk-sp7021.c There's a bunch of patches here across drivers/clk/ to migrate drivers to use 2025-10-07 09:28:37 -07:00
clk-sparx5.c clk: sparx5: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-stm32f4.c clk: stm32f4: convert from round_rate() to determine_rate() 2025-09-08 09:41:28 -04:00
clk-stm32h7.c
clk-tps68470.c clk: tps68470: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk-twl.c clk: twl: add TWL6030 support 2024-10-17 12:02:42 -07:00
clk-twl6040.c
clk-versaclock3.c clk: versaclock3: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk-versaclock5.c clk: versaclock5: convert from round_rate() to determine_rate() 2025-09-08 09:41:31 -04:00
clk-versaclock7.c clk: versaclock7: convert from round_rate() to determine_rate() 2025-09-08 09:41:31 -04:00
clk-vt8500.c clk: vt8500: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk-wm831x.c clk: wm831x: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk-xgene.c clk: xgene: convert from round_rate() to determine_rate() 2025-09-08 09:41:29 -04:00
clk.c clk: Use hashtable for global clk lookups 2025-09-21 10:15:43 -07:00
clk.h
clk_kunit_helpers.c clk: test: Add test managed of_clk_add_hw_provider() 2024-10-09 16:25:32 -07:00
clk_parent_data_test.h clk: Add KUnit tests for clks registered with struct clk_parent_data 2024-07-29 15:33:13 -07:00
clk_test.c Merge branches 'clk-bindings', 'clk-cleanup', 'clk-pwm', 'clk-hw-device', 'clk-xilinx' and 'clk-adi' into clk-next 2025-07-29 15:18:13 -07:00
clkdev.c ARM: 9445/1: clkdev: Mark some functions with __printf() attribute 2025-03-26 13:31:49 +00:00
Kconfig There's a bunch of patches here across drivers/clk/ to migrate drivers to use 2025-10-07 09:28:37 -07:00
kunit_clk_assigned_rates.h clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_multiple.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_multiple_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_null.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_null_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_one.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_one_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_multiple.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_multiple_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_one.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_u64_one_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_without.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_without_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_zero.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_assigned_rates_zero_consumer.dtso clk: test: Add KUnit tests for clock-assigned-rates{-u64} DT properties 2024-10-09 16:25:32 -07:00
kunit_clk_fixed_rate_test.dtso clk: Add KUnit tests for clk fixed rate basic type 2024-07-29 15:33:13 -07:00
kunit_clk_hw_get_dev_of_node.dtso clk: tests: add clk_hw_get_dev() and clk_hw_get_of_node() tests 2025-06-20 00:15:39 -07:00
kunit_clk_parent_data_test.dtso clk: Add KUnit tests for clks registered with struct clk_parent_data 2024-07-29 15:33:13 -07:00
Makefile clk: keystone: fix compile testing 2025-11-30 12:06:21 -08:00