Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1698149 > unrolled thread

[PATCH 0/2] clk: meson: fix protection against undefined clks

Started byJerome Brunet <jbrunet@baylibre.com>
First post2017-07-27 18:20 +0200
Last post2017-07-28 12:10 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/2] clk: meson: fix protection against undefined clks Jerome Brunet <jbrunet@baylibre.com> - 2017-07-27 18:20 +0200
    [PATCH 1/2] clk: meson: meson8b: fix protection against undefined clks Jerome Brunet <jbrunet@baylibre.com> - 2017-07-27 18:20 +0200
    [PATCH 2/2] clk: meson: gxbb: fix protection against undefined clks Jerome Brunet <jbrunet@baylibre.com> - 2017-07-27 18:30 +0200
    Re: [PATCH 0/2] clk: meson: fix protection against undefined clks Neil Armstrong <narmstrong@baylibre.com> - 2017-07-28 12:10 +0200

#1698149 — [PATCH 0/2] clk: meson: fix protection against undefined clks

FromJerome Brunet <jbrunet@baylibre.com>
Date2017-07-27 18:20 +0200
Subject[PATCH 0/2] clk: meson: fix protection against undefined clks
Message-ID<u7TG3-8lQ-47@gated-at.bofh.it>
If the last clkids defined have no hw pointer associated with them in
the hw_onecell_data array, the initialization is going to crash badly
because the array is not big enough.

The patchset makes sure the array is big enough, and that each clkid is
associated with a valid hw pointer, or NULL.

Doing it in two patches to ease backport, since we are not fixing the
same commit on meson8b and gxbb

Jerome Brunet (2):
  clk: meson: meson8b: fix protection against undefined clks
  clk: meson: gxbb: fix protection against undefined clks

 drivers/clk/meson/gxbb.c    | 2 ++
 drivers/clk/meson/meson8b.c | 1 +
 2 files changed, 3 insertions(+)

-- 
2.9.4

[toc] | [next] | [standalone]


#1698157 — [PATCH 1/2] clk: meson: meson8b: fix protection against undefined clks

FromJerome Brunet <jbrunet@baylibre.com>
Date2017-07-27 18:20 +0200
Subject[PATCH 1/2] clk: meson: meson8b: fix protection against undefined clks
Message-ID<u7TG4-8lQ-63@gated-at.bofh.it>
In reply to#1698149
meson8b clock driver gracefully handles case where the clkid is defined
but the clock hw pointer is not provided, as long as it is not at the end
of the hw_onecell_data array.

This patch ensure that the last entries are defined as well to handle
this particular case.

Fixes: e92f7cca446e ("clk: meson8b: clean up fixed rate clocks")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 drivers/clk/meson/meson8b.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
index bb3f1de876b1..7629aa09472a 100644
--- a/drivers/clk/meson/meson8b.c
+++ b/drivers/clk/meson/meson8b.c
@@ -585,6 +585,7 @@ static struct clk_hw_onecell_data meson8b_hw_onecell_data = {
 		[CLKID_MPLL0]		    = &meson8b_mpll0.hw,
 		[CLKID_MPLL1]		    = &meson8b_mpll1.hw,
 		[CLKID_MPLL2]		    = &meson8b_mpll2.hw,
+		[CLK_NR_CLKS]		    = NULL,
 	},
 	.num = CLK_NR_CLKS,
 };
-- 
2.9.4

[toc] | [prev] | [next] | [standalone]


#1698169 — [PATCH 2/2] clk: meson: gxbb: fix protection against undefined clks

FromJerome Brunet <jbrunet@baylibre.com>
Date2017-07-27 18:30 +0200
Subject[PATCH 2/2] clk: meson: gxbb: fix protection against undefined clks
Message-ID<u7TPI-8oO-21@gated-at.bofh.it>
In reply to#1698149
gxbb clock driver gracefully handles case where the clkid is defined but
the clock hw pointer is not provided, as long as it is not at the end of
the hw_onecell_data array.

This patch ensure that the last entries are defined as well to handle
this particular case.

Fixes: a70c6e06ed7c ("clk: meson: gxbb: protect against holes in the onecell_data array")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
 drivers/clk/meson/gxbb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index a897ea45327c..8409d86cda24 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -1183,6 +1183,7 @@ static struct clk_hw_onecell_data gxbb_hw_onecell_data = {
 		[CLKID_32K_CLK]		    = &gxbb_32k_clk.hw,
 		[CLKID_32K_CLK_SEL]	    = &gxbb_32k_clk_sel.hw,
 		[CLKID_32K_CLK_DIV]	    = &gxbb_32k_clk_div.hw,
+		[NR_CLKS]		    = NULL,
 	},
 	.num = NR_CLKS,
 };
@@ -1305,6 +1306,7 @@ static struct clk_hw_onecell_data gxl_hw_onecell_data = {
 		[CLKID_32K_CLK]		    = &gxbb_32k_clk.hw,
 		[CLKID_32K_CLK_SEL]	    = &gxbb_32k_clk_sel.hw,
 		[CLKID_32K_CLK_DIV]	    = &gxbb_32k_clk_div.hw,
+		[NR_CLKS]		    = NULL,
 	},
 	.num = NR_CLKS,
 };
-- 
2.9.4

[toc] | [prev] | [next] | [standalone]


#1698659

FromNeil Armstrong <narmstrong@baylibre.com>
Date2017-07-28 12:10 +0200
Message-ID<u8anw-2mH-15@gated-at.bofh.it>
In reply to#1698149
On 07/27/2017 06:17 PM, Jerome Brunet wrote:
> If the last clkids defined have no hw pointer associated with them in
> the hw_onecell_data array, the initialization is going to crash badly
> because the array is not big enough.
> 
> The patchset makes sure the array is big enough, and that each clkid is
> associated with a valid hw pointer, or NULL.
> 
> Doing it in two patches to ease backport, since we are not fixing the
> same commit on meson8b and gxbb
> 
> Jerome Brunet (2):
>   clk: meson: meson8b: fix protection against undefined clks
>   clk: meson: gxbb: fix protection against undefined clks
> 
>  drivers/clk/meson/gxbb.c    | 2 ++
>  drivers/clk/meson/meson8b.c | 1 +
>  2 files changed, 3 insertions(+)
> 

Applied to clk-meson's fixes/drivers !

Thanks,
Neil

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web