Re: [PATCH 1/2] clk: Fix __clk_get access to already freed owner field.

From: Stephen Boyd
Date: Thu Feb 05 2015 - 16:03:36 EST


On 02/05/15 12:43, Alban Browaeys wrote:
> Le jeudi 05 fÃvrier 2015 Ã 11:30 -0800, Stephen Boyd a Ãcrit :
>
>>> Signed-off-by: Alban Browaeys <prahal@xxxxxxxxx>
>>> ---
>>> drivers/clk/clk.c | 17 +++++++++--------
>>> 1 file changed, 9 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
>>> index df94668..8f33722 100644
>>> --- a/drivers/clk/clk.c
>>> +++ b/drivers/clk/clk.c
>>> @@ -2485,15 +2485,18 @@ EXPORT_SYMBOL_GPL(clk_register);
>>> */
>>> static void __clk_release(struct kref *ref)
>>> {
>>> - struct clk_core *clk = container_of(ref, struct clk_core, ref);
>>> - int i = clk->num_parents;
>>> + struct clk_core *core = container_of(ref, struct clk_core, ref);
>>> + struct clk *clk = container_of(&core, struct clk, core);
>> How does this work? struct clk_core doesn't have a struct clk inside it.
>>
> Seems I am confused. The aim is to get the clk struct from its core
> field. If I cannot do that from within __clk_release , this fix is
> doomed.
>

Thanks for the information. Can you please try the patch in this other
thread[1]? I think you're seeing the same problem.

[1] https://lkml.org/lkml/2015/2/5/595

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/