[PATCH] thunderbolt: debugfs: Fix dentry reference leaks in margining_port_init

Miaoqian Lin posted 1 patch 1 month ago
drivers/thunderbolt/debugfs.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] thunderbolt: debugfs: Fix dentry reference leaks in margining_port_init
Posted by Miaoqian Lin 1 month ago
The debugfs_lookup() function returns a dentry with an increased
reference count that must be released by calling dput().

Fixes: d0f1e0c2a699 ("thunderbolt: Add support for receiver lane margining")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/thunderbolt/debugfs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/thunderbolt/debugfs.c b/drivers/thunderbolt/debugfs.c
index f8328ca7e22e..2aadbec9a3e5 100644
--- a/drivers/thunderbolt/debugfs.c
+++ b/drivers/thunderbolt/debugfs.c
@@ -1770,6 +1770,7 @@ static void margining_port_init(struct tb_port *port)
 	port->usb4->margining = margining_alloc(port, &port->usb4->dev,
 						USB4_SB_TARGET_ROUTER, 0,
 						parent);
+	dput(parent);
 }
 
 static void margining_port_remove(struct tb_port *port)
-- 
2.35.1
Re: [PATCH] thunderbolt: debugfs: Fix dentry reference leaks in margining_port_init
Posted by Mika Westerberg 1 month ago
On Mon, Sep 01, 2025 at 04:04:37PM +0800, Miaoqian Lin wrote:
> The debugfs_lookup() function returns a dentry with an increased
> reference count that must be released by calling dput().

Don't we need the same for margining_port_remove() too?

> 
> Fixes: d0f1e0c2a699 ("thunderbolt: Add support for receiver lane margining")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
>  drivers/thunderbolt/debugfs.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/thunderbolt/debugfs.c b/drivers/thunderbolt/debugfs.c
> index f8328ca7e22e..2aadbec9a3e5 100644
> --- a/drivers/thunderbolt/debugfs.c
> +++ b/drivers/thunderbolt/debugfs.c
> @@ -1770,6 +1770,7 @@ static void margining_port_init(struct tb_port *port)
>  	port->usb4->margining = margining_alloc(port, &port->usb4->dev,
>  						USB4_SB_TARGET_ROUTER, 0,
>  						parent);
> +	dput(parent);
>  }
>  
>  static void margining_port_remove(struct tb_port *port)
> -- 
> 2.35.1