]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
clk: microchip: mpfs-ccc: fix peripheral driver registration failures after oob fix
authorConor Dooley <conor.dooley@microchip.com>
Thu, 30 Apr 2026 18:30:28 +0000 (19:30 +0100)
committerConor Dooley <conor.dooley@microchip.com>
Wed, 20 May 2026 15:51:28 +0000 (16:51 +0100)
commitc8a3be5bc2b2f2d53c56a8b9cab731e917b95c07
tree1796f4df07c5a6db75912ff0157dbc6c70a56a4e
parentb6f6ebb0fb57ae6da622fb8fd4ebdc9ba1ae5756
clk: microchip: mpfs-ccc: fix peripheral driver registration failures after oob fix

Commit 2f7ae8ab6aa73 ("clk: microchip: mpfs-ccc: fix out of bounds
access during output registration") fixed the out of bounds access, but
it did so by packing sparse indices into a linear space. When
peripheral drivers request clocks, they obviously don't care for this
compression and use the sparse indices, and therefore try to request the
wrong clocks or clocks that don't exist.

The most straightforward fix here seems to stop being clever with the
packing and just overallocate the array.

Fixes: 2f7ae8ab6aa73 ("clk: microchip: mpfs-ccc: fix out of bounds access during output registration")
Fixes: d39fb172760e ("clk: microchip: add PolarFire SoC fabric clock support")
Reviewed-by: Brian Masney <bmasney@redhat.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
drivers/clk/microchip/clk-mpfs-ccc.c