2013-10-29 10:51:41

by Tushar Behera

[permalink] [raw]
Subject: [PATCH] clk: Zero-initialize memory for new clock in devm_clk_register

Earlier to commit 64c862a839a8 ("devres: add kernel standard devm_k.alloc
functions") devres_alloc API used to zero-initialize the devres
allocated object, but now only the devres header is zero-initialized.

Since clk_register zero-initializes the memory while allocating for
a new clock, passing explicit flag __GFP_ZERO to devres_alloc in
devm_clk_register to match the behaviour.

Signed-off-by: Tushar Behera <[email protected]>
---
drivers/clk/clk.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 2cf2ea6..ea3f2b9 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1932,7 +1932,8 @@ struct clk *devm_clk_register(struct device *dev, struct clk_hw *hw)
struct clk *clk;
int ret;

- clk = devres_alloc(devm_clk_release, sizeof(*clk), GFP_KERNEL);
+ clk = devres_alloc(devm_clk_release, sizeof(*clk),
+ GFP_KERNEL|__GFP_ZERO);
if (!clk)
return ERR_PTR(-ENOMEM);

--
1.7.9.5


2013-10-29 11:45:12

by Tushar Behera

[permalink] [raw]
Subject: Re: [PATCH] clk: Zero-initialize memory for new clock in devm_clk_register

On 29 October 2013 16:20, Tushar Behera <[email protected]> wrote:
> Earlier to commit 64c862a839a8 ("devres: add kernel standard devm_k.alloc
> functions") devres_alloc API used to zero-initialize the devres
> allocated object, but now only the devres header is zero-initialized.
>
> Since clk_register zero-initializes the memory while allocating for
> a new clock, passing explicit flag __GFP_ZERO to devres_alloc in
> devm_clk_register to match the behaviour.
>
> Signed-off-by: Tushar Behera <[email protected]>
> ---

Please ignore this patch. Kevin Hilman already has got a nicer patch
[1] that fixes this problem at a generic level.

[1] https://lkml.org/lkml/2013/10/19/5

--
Tushar Behera