Messages in this thread | | | Date | Tue, 22 Feb 2022 16:59:29 +0100 | Subject | Re: [PATCH v1 3/7] powercap/dtpm: Fixup kfree for virtual node | From | Daniel Lezcano <> |
| |
On 22/02/2022 16:55, Ulf Hansson wrote: > On Fri, 18 Feb 2022 at 14:18, Daniel Lezcano <daniel.lezcano@linaro.org> wrote: >> >> On 17/02/2022 16:45, Ulf Hansson wrote: >> >> [ ... ] >> >>> Does ops->release() also resets the "dtpm" pointer to NULL? If not, >>> it's good practice that it should, right? >>> >>> In that case, we would be calling "kfree(NULL);" the second time, >>> which is perfectly fine. >> >> So you suggest to replace: >> >> if (ops->release) >> ops->release(dtpm); >> else >> kfree(dtpm); >> >> By: >> >> if (ops->release) { >> ops->release(dtpm); >> dtpm = NULL; >> } >> > > I don't have a strong opinion how to code this. > > What I was trying to point out was that if ->ops->release() frees the > memory it could/should also reset the pointer to NULL
No it can't because it is not a pointer, it is contained by the backend specific structure.
eg.
struct dtpm_cpu { struct dtpm dtpm; };
the release frees a dtpm_cpu structure.
> And if that is already done, the kfree below is harmless and there > would be nothing to "fix". > >> kfree(dtpm); >> >> ? > > 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
| |