From: Yaxiong Tian <tianyaxiong@xxxxxxxxxx> As Greg said,When calling debugfs_lookup() the result must have dput() called on it,otherwise the memory will leak over time. So just call debugfs_lookup_and_remove() instead. Fixes: d0f1e0c2a699 ("thunderbolt: Add support for receiver lane margining") Signed-off-by: Yaxiong Tian <tianyaxiong@xxxxxxxxxx> --- drivers/thunderbolt/debugfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/thunderbolt/debugfs.c b/drivers/thunderbolt/debugfs.c index c9ddd49138d8..e324cd899719 100644 --- a/drivers/thunderbolt/debugfs.c +++ b/drivers/thunderbolt/debugfs.c @@ -959,7 +959,7 @@ static void margining_port_remove(struct tb_port *port) snprintf(dir_name, sizeof(dir_name), "port%d", port->port); parent = debugfs_lookup(dir_name, port->sw->debugfs_dir); if (parent) - debugfs_remove_recursive(debugfs_lookup("margining", parent)); + debugfs_lookup_and_remove("margining", parent); kfree(port->usb4->margining); port->usb4->margining = NULL; -- 2.25.1