lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <YyC2GGbzEuCuZzMk@shell.armlinux.org.uk> Date: Tue, 13 Sep 2022 17:55:52 +0100 From: "Russell King (Oracle)" <linux@...linux.org.uk> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org> Cc: mw@...ihalf.com, linux-kernel@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org, stable <stable@...nel.org> Subject: Re: [PATCH net] net: mvpp2: debugfs: fix memory leak when using debugfs_lookup() On Fri, Sep 02, 2022 at 03:41:11PM +0200, Greg Kroah-Hartman wrote: > When calling debugfs_lookup() the result must have dput() called on it, > otherwise the memory will leak over time. Fix this up to be much > simpler logic and only create the root debugfs directory once when the > driver is first accessed. That resolves the memory leak and makes > things more obvious as to what the intent is. To clarify a bit more on the original patch rather than one of the backported stable patches of this. This patch introduces a bug, whereby if the driver is a module, and is inserted, binds to a device, then is removed and re-inserted, mvpp2_root will be NULL on the first call to mvpp2_dbgfs_init(), so we will attempt to call debugfs_create_dir(). However, the directory was already previously created, so this will fail, and mvpp2_root will be the EEXIST error pointer. Since we never clean up this directory, the original code does NOT result in a memory leak - since the increase in refcount caused by debugfs_lookup() has absolutely no effect - because we never remove this directory once it's been created. If the driver /did/ remove the directory when the module is removed, then yes, maybe there's an argument for this fix. However, as things currently stand, this is in no way a fix, but actually introduces a debugfs regression. Please can the change be reverted in mainline and all stable trees. Thanks. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists