Commit ac43c912 authored by Yaxiong Tian's avatar Yaxiong Tian Committed by Mika Westerberg
Browse files

thunderbolt: Fix memory leak in margining_port_remove()



The dentry returned by debugfs_lookup() needs to be released by calling
dput() which is missing in margining_port_remove(). Fix this by calling
debugfs_lookup_and_remove() that combines both and avoids the memory leak.

Fixes: d0f1e0c2 ("thunderbolt: Add support for receiver lane margining")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarYaxiong Tian <tianyaxiong@kylinos.cn>
Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 2cc14f52
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;