lkml.org 
[lkml]   [2023]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2] mtd: spi-nor: fix memory leak when using debugfs_lookup()
    On Wed, Feb 08, 2023 at 02:36:23PM +0100, Michael Walle wrote:
    > Am 2023-02-08 13:57, schrieb Greg Kroah-Hartman:
    > > When calling debugfs_lookup() the result must have dput() called on it,
    > > otherwise the memory will leak over time.
    > >
    > > Cc: Tudor Ambarus <tudor.ambarus@microchip.com>
    > > Cc: Pratyush Yadav <pratyush@kernel.org>
    > > Cc: Michael Walle <michael@walle.cc>
    > > Cc: Miquel Raynal <miquel.raynal@bootlin.com>
    > > Cc: Richard Weinberger <richard@nod.at>
    > > Cc: Vignesh Raghavendra <vigneshr@ti.com>
    > > Cc: linux-mtd@lists.infradead.org
    > > Cc: stable <stable@kernel.org>
    > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    > > ---
    > > v2: fix up to work when module is removed and added, making the fix
    > > much simpler.
    > >
    > > drivers/mtd/spi-nor/debugfs.c | 1 +
    > > 1 file changed, 1 insertion(+)
    > >
    > > diff --git a/drivers/mtd/spi-nor/debugfs.c
    > > b/drivers/mtd/spi-nor/debugfs.c
    > > index ff895f6758ea..af41fbc09a97 100644
    > > --- a/drivers/mtd/spi-nor/debugfs.c
    > > +++ b/drivers/mtd/spi-nor/debugfs.c
    > > @@ -242,6 +242,7 @@ void spi_nor_debugfs_register(struct spi_nor *nor)
    > >
    > > d = debugfs_create_dir(dev_name(nor->dev), rootdir);
    > > nor->debugfs_root = d;
    > > + dput(rootdir);
    >
    > rootdir might either be the return value of debugfs_lookup() or
    > debugfs_create_dir(). dput() is probably wrong for the latter,
    > right? Also there is an early return, where the dput() is missing,
    > too.

    {sigh}

    Yeah, this is all wrong, sorry. Let me fix this up again, properly.
    And to do it properly, let's have the module remove the directory if it
    is unloaded, like a good module should :)

    greg k-h

    \
     
     \ /
      Last update: 2023-03-27 00:15    [W:2.659 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site