[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <03a4edf1-9562-49fd-81fe-d96f46a41d28@linaro.org>
Date: Thu, 24 Oct 2024 16:21:55 +0200
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: Markus Elfring <Markus.Elfring@....de>, linux-pm@...r.kernel.org,
Lukasz Luba <lukasz.luba@....com>, LKML <linux-kernel@...r.kernel.org>,
Zhang Rui <rui.zhang@...el.com>
Subject: Re: [PATCH] thermal/lib: Fix memory leak on error in
thermal_genl_auto()
On 24/10/2024 15:18, Rafael J. Wysocki wrote:
> On Thu, Oct 24, 2024 at 2:57 PM Daniel Lezcano
> <daniel.lezcano@...aro.org> wrote:
>>
>> On 24/10/2024 14:02, Markus Elfring wrote:
>>>> The function thermal_genl_auto() does not free the allocated message
>>>> in the error path. Fix that by putting a out label and jump to it
>>>> which will free the message instead of directly returning an error.
>>>
>>> Would you like to add any tags (like “Fixes” and “Cc”) accordingly?
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.12-rc4#n145
>>>
>>>
>>> …
>>>> +++ b/tools/lib/thermal/commands.c
>>>> @@ -375,27 +375,30 @@ static thermal_error_t thermal_genl_auto(struct thermal_handler *th, cmd_cb_t cm
>>>> struct cmd_param *param,
>>>> int cmd, int flags, void *arg)
>>>> {
>>>> + thermal_error_t ret = THERMAL_ERROR;
>>>> struct nl_msg *msg;
>>>> void *hdr;
>>>>
>>>> msg = nlmsg_alloc();
>>>> if (!msg)
>>>> - return THERMAL_ERROR;
>>>> + goto out;
>>> …
>>>
>>> Is it really reasonable to pass a null pointer (from a failed function call)
>>> to a subsequent nlmsg_free() call?
>>
>> You are right, I should return here :S
>
> Do you want to respin it?
>
> Alternatively, I can fix it up when applying the patch.
If you don't mind I would prefer to apply the lib patches
For correctness, I'll send a V2 with the return fixed
--
<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
Powered by blists - more mailing lists