Messages in this thread | | | Date | Wed, 16 Feb 2022 19:10:33 +0100 | Subject | Re: [PATCH v1 3/7] powercap/dtpm: Fixup kfree for virtual node | From | Daniel Lezcano <> |
| |
On 16/02/2022 17:22, Ulf Hansson wrote: > On Sun, 30 Jan 2022 at 22:02, Daniel Lezcano <daniel.lezcano@linaro.org> wrote: >> >> When the node is virtual there is no release function associated which >> can free the memory. >> >> Free the memory when no 'ops' exists. >> >> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> >> --- >> drivers/powercap/dtpm.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c >> index 0b0121c37a1b..7bddd25a6767 100644 >> --- a/drivers/powercap/dtpm.c >> +++ b/drivers/powercap/dtpm.c >> @@ -181,12 +181,12 @@ int dtpm_release_zone(struct powercap_zone *pcz) >> >> if (dtpm->ops) >> dtpm->ops->release(dtpm); >> + else >> + kfree(dtpm); >> > > This doesn't look correct. Below you check dtpm against "root", which > may be after its memory has been freed. > > If the ->release() function should be responsible for freeing the > dtpm, it needs to be called after the check below.
It is harmless, 'root' is not dereferenced but used as an ID
Moreover, in the patch 5/7 it is moved out this function.
>> if (root == dtpm) >> root = NULL; >> >> - kfree(dtpm); >> - >> return 0; >> } >> > > Kind regards > Uffe
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |