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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <64761b5c-1dc4-43da-a348-3db994ca5e87@nvidia.com>
Date: Mon, 15 Dec 2025 20:03:10 +0000
From: Jon Hunter <jonathanh@...dia.com>
To: Ma Ke <make24@...as.ac.cn>, linux@...linux.org.uk,
 thierry.reding@...il.com, johan@...nel.org, hdoyu@...dia.com,
 swarren@...dia.com
Cc: linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org,
 akpm@...ux-foundation.org, stable@...r.kernel.org
Subject: Re: [PATCH RESEND] ARM: tegra: fix device leak on tegra ahb lookup


On 14/12/2025 12:53, Ma Ke wrote:
> tegra_ahb_enable_smmu() utilizes driver_find_device_by_of_node() which
> internally calls driver_find_device() to locate the matching device.
> driver_find_device() increments the ref count of the found device by
> calling get_device(), but tegra_ahb_enable_smmu() fails to call
> put_device() to decrement the reference count before returning. This
> results in a reference count leak of the device, which may prevent the
> device from being properly released and cause a memory leak.
> 
> Found by code review.
> 
> Cc: stable@...r.kernel.org
> Fixes: 89c788bab1f0 ("ARM: tegra: Add SMMU enabler in AHB")
> Signed-off-by: Ma Ke <make24@...as.ac.cn>
> ---
>   drivers/amba/tegra-ahb.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/amba/tegra-ahb.c b/drivers/amba/tegra-ahb.c
> index f23c3ed01810..3ed5cef34806 100644
> --- a/drivers/amba/tegra-ahb.c
> +++ b/drivers/amba/tegra-ahb.c
> @@ -148,6 +148,7 @@ int tegra_ahb_enable_smmu(struct device_node *dn)
>   	val = gizmo_readl(ahb, AHB_ARBITRATION_XBAR_CTRL);
>   	val |= AHB_ARBITRATION_XBAR_CTRL_SMMU_INIT_DONE;
>   	gizmo_writel(ahb, val, AHB_ARBITRATION_XBAR_CTRL);
> +	put_device(dev);
>   	return 0;
>   }
>   EXPORT_SYMBOL(tegra_ahb_enable_smmu);


This has already been fixed and so this change is not needed.

-- 
nvpublic


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ