Message ID | 20210609080145.44226-1-clement.leger@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clk: at91: fix count of periph clocks passed to pmc_data_allocate | expand |
hi, Subject should have been: clk: at91: sama5d2: fix count of periph clocks passed to pmc_data_allocate On 09/06/2021 10:01:44+0200, Clément Léger wrote: > When allocating clk_hw structure, only the periph32 clocks are considered. > Since sama5d2_periphck are also added to the phws there is currently an > out of bound write. Fix this by adding the count of periphck to periph32ck. > > Signed-off-by: Clément Léger <clement.leger@bootlin.com> Fixes: a2038077de9a ("clk: at91: add sama5d2 PMC driver") > --- > drivers/clk/at91/sama5d2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c > index 3d1f78176c3e..663b73a032ee 100644 > --- a/drivers/clk/at91/sama5d2.c > +++ b/drivers/clk/at91/sama5d2.c > @@ -170,7 +170,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) > > sama5d2_pmc = pmc_data_allocate(PMC_AUDIOPLLCK + 1, > nck(sama5d2_systemck), > - nck(sama5d2_periph32ck), > + nck(sama5d2_periphck) + nck(sama5d2_periph32ck), > nck(sama5d2_gck), 3); > if (!sama5d2_pmc) > return; > -- > 2.32.0 >
Hi, Le Wed, 9 Jun 2021 10:31:01 +0200, Alexandre Belloni <alexandre.belloni@bootlin.com> a écrit : > hi, > > Subject should have been: > clk: at91: sama5d2: fix count of periph clocks passed to > pmc_data_allocate > This patch can actually be discarded since it won't fix allocation at all but will just allocate more data than needed since nck already returns the max .id field of the periph array. > > > On 09/06/2021 10:01:44+0200, Clément Léger wrote: > > When allocating clk_hw structure, only the periph32 clocks are > > considered. Since sama5d2_periphck are also added to the phws there > > is currently an out of bound write. Fix this by adding the count of > > periphck to periph32ck. > > > > Signed-off-by: Clément Léger <clement.leger@bootlin.com> > Fixes: a2038077de9a ("clk: at91: add sama5d2 PMC driver") > > > --- > > drivers/clk/at91/sama5d2.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c > > index 3d1f78176c3e..663b73a032ee 100644 > > --- a/drivers/clk/at91/sama5d2.c > > +++ b/drivers/clk/at91/sama5d2.c > > @@ -170,7 +170,7 @@ static void __init sama5d2_pmc_setup(struct > > device_node *np) > > sama5d2_pmc = pmc_data_allocate(PMC_AUDIOPLLCK + 1, > > nck(sama5d2_systemck), > > - nck(sama5d2_periph32ck), > > + nck(sama5d2_periphck) + > > nck(sama5d2_periph32ck), nck(sama5d2_gck), 3); > > if (!sama5d2_pmc) > > return; > > -- > > 2.32.0 > > >
diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c index 3d1f78176c3e..663b73a032ee 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -170,7 +170,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) sama5d2_pmc = pmc_data_allocate(PMC_AUDIOPLLCK + 1, nck(sama5d2_systemck), - nck(sama5d2_periph32ck), + nck(sama5d2_periphck) + nck(sama5d2_periph32ck), nck(sama5d2_gck), 3); if (!sama5d2_pmc) return;
When allocating clk_hw structure, only the periph32 clocks are considered. Since sama5d2_periphck are also added to the phws there is currently an out of bound write. Fix this by adding the count of periphck to periph32ck. Signed-off-by: Clément Léger <clement.leger@bootlin.com> --- drivers/clk/at91/sama5d2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)