Re: [PATCH v4] mtd: spi-nor: fix memory leak when using debugfs_lookup()

From: Tudor Ambarus
Date: Fri Mar 17 2023 - 04:46:48 EST




On 06.03.2023 13:05, Miquel Raynal wrote:
> Hi Greg,
>
> gregkh@xxxxxxxxxxxxxxxxxxx wrote on Mon, 6 Mar 2023 10:13:33 +0100:
>
>> On Mon, Mar 06, 2023 at 09:33:36AM +0100, Miquel Raynal wrote:
>>> Hi Greg,
>>>
>>> gregkh@xxxxxxxxxxxxxxxxxxx wrote on Mon, 6 Mar 2023 07:52:38 +0100:
>>>
>>>> On Wed, Feb 08, 2023 at 05:15:41PM +0100, Michael Walle wrote:
>>>>> Am 2023-02-08 17:02, schrieb Greg Kroah-Hartman:
>>>>>> When calling debugfs_lookup() the result must have dput() called on it,
>>>>>> otherwise the memory will leak over time. To solve this, remove the
>>>>>> lookup and create the directory on the first device found, and then
>>>>>> remove it when the module is unloaded.
>>>>>>
>>>>>> Cc: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>
>>>>>> Cc: Pratyush Yadav <pratyush@xxxxxxxxxx>
>>>>>> Cc: Michael Walle <michael@xxxxxxxx>
>>>>>> Cc: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
>>>>>> Cc: Richard Weinberger <richard@xxxxxx>
>>>>>> Cc: Vignesh Raghavendra <vigneshr@xxxxxx>
>>>>>> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
>>>>>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>>>>>
>>>>> Reviewed-by: Michael Walle <michael@xxxxxxxx>
>>>>>
>>>>> one nit below I didn't notice earlier, no need to send a new
>>>>> patch version just for that.
>>>>>
>>>>> ..
>>>>>
>>>>>> +void spi_nor_debugfs_shutdown(void)
>>>>>> +{
>>>>>> + if (rootdir)
>>>>>> + debugfs_remove(rootdir);
>>>>>
>>>>> debugfs_remove() already has a check for NULL.
>>>>>
>>>>
>>>> Ah, good catch, I merged this in when I applied it to my tree, thanks!
>>>
>>> Any reasons why you did apply this patch to your tree? It is a spi-nor
>>> fix, I would have expected it to go through mtd.
>>
>> It's been sitting around for a month, I assumed it was lost, so I picked
>> it up.
>
> Sorry if it took too long, the merge window also happened during that
> time, we are collecting patches now that 6.3-rc1 has been released.
> Next time don't hesitate to ping first ;-)
>
>> I can revert it if you don't want me to take it for 6.3-final
>> through my driver core tree.
>

It's fine, I don't expect other changes on these chunks of code. Anyway,
if there will be merge conflicts I'll solve them locally by merging the
-rc containing the fix.

BTW, you forgot to cc stable and add a fixes tag :).

> I'll let spi-nor maintainers decide what they prefer.
>

If it'll be a next time, a ping would be better.

Cheers,
ta