[PATCH 0/7] clk: sunxi: Out-of-bounds access fix and driver cleanup

Andre Przywara andre.przywara at arm.com
Wed May 11 01:24:43 CEST 2022


On Mon,  9 May 2022 00:29:30 -0500
Samuel Holland <samuel at sholland.org> wrote:

Hi Samuel,

> This series fixes an issue with out-of-bounds access to the gate array
> (patches 1-2), uses the rearranged array size information to remove a
> bunch of duplicate code (patches 3-4), and then simplifies how the reset
> driver is bound (patches 5-7).
> 
> The original motivation for these changes was adding a driver for the
> legacy A31/A23/A33 PRCM binding (which I will send separately), and
> trying to use OF_PLATDATA in SPL (which did not work out). But I think
> at least some of the cleanup is worth applying on its own.
> 
> Patch 4 is generally the same change I made between v1 and v2 of the
> pinctrl series, using some #ifdefs to share a U_BOOT_DRIVER. It's not
> quite as clean as the pinctrl case, because here the SoC-specific parts
> are in different files, so all of the CCU descriptors have to be global.

so I skimmed over the series and quite like it: the negative diffstat
speaks for itself ;-)
I need to go over each individual patch with more scrutiny (unless
someone beats me to it), but assuming no issues, I am planning on taking
this for the next merge window.

You mention out-of-bounds accesses: did you actually encounter one
with the old or new DTs, that would need fixing now?

Cheers,
Andre

> Samuel Holland (7):
>   clk: sunxi: Store the array sizes in the CCU descriptor
>   clk: sunxi: Prevent out-of-bounds gate array access
>   reset: sunxi: Get the reset count from the CCU descriptor
>   clk: sunxi: Use a single driver for all variants
>   clk: sunxi: Convert driver private data to platform data
>   reset: sunxi: Convert driver private data to platform data
>   reset: sunxi: Reuse the platform data from the clock driver
> 
>  drivers/clk/sunxi/clk_a10.c   |  27 +-----
>  drivers/clk/sunxi/clk_a10s.c  |  27 +-----
>  drivers/clk/sunxi/clk_a23.c   |  27 +-----
>  drivers/clk/sunxi/clk_a31.c   |  25 +----
>  drivers/clk/sunxi/clk_a31_r.c |  29 +-----
>  drivers/clk/sunxi/clk_a64.c   |  25 +----
>  drivers/clk/sunxi/clk_a80.c   |  36 ++------
>  drivers/clk/sunxi/clk_a83t.c  |  25 +----
>  drivers/clk/sunxi/clk_h3.c    |  27 +-----
>  drivers/clk/sunxi/clk_h6.c    |  25 +----
>  drivers/clk/sunxi/clk_h616.c  |  25 +----
>  drivers/clk/sunxi/clk_h6_r.c  |  27 +-----
>  drivers/clk/sunxi/clk_r40.c   |  25 +----
>  drivers/clk/sunxi/clk_sunxi.c | 168 ++++++++++++++++++++++++++++++----
>  drivers/clk/sunxi/clk_v3s.c   |  27 +-----
>  drivers/reset/reset-sunxi.c   |  55 ++---------
>  include/clk/sunxi.h           |  21 +----
>  17 files changed, 208 insertions(+), 413 deletions(-)
> 



More information about the U-Boot mailing list