[PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves

Miaoqian Lin posted 1 patch 3 months, 1 week ago
drivers/slimbus/qcom-ngd-ctrl.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Miaoqian Lin 3 months, 1 week ago
The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
internally uses device_find_child() to obtain a device reference.
According to the device_find_child() documentation,
the caller must drop the reference with put_device() after use.

Found via static analysis and this is similar to commit 4e65bda8273c
("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")

Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index 4fb66986cc22..cd40ab839c54 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1241,6 +1241,7 @@ static void qcom_slim_ngd_notify_slaves(struct qcom_slim_ngd_ctrl *ctrl)
 
 		if (slim_get_logical_addr(sbdev))
 			dev_err(ctrl->dev, "Failed to get logical address\n");
+		put_device(&sbdev->dev);
 	}
 }
 
-- 
2.39.5 (Apple Git-154)
Re: [PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Vinod Koul 2 months, 3 weeks ago
On Mon, 27 Oct 2025 14:06:01 +0800, Miaoqian Lin wrote:
> The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
> internally uses device_find_child() to obtain a device reference.
> According to the device_find_child() documentation,
> the caller must drop the reference with put_device() after use.
> 
> Found via static analysis and this is similar to commit 4e65bda8273c
> ("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")
> 
> [...]

Applied, thanks!

[1/1] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
      commit: bcd8db9640bcad313f7fbf8433fcb5459cdd760a

Best regards,
-- 
~Vinod
Re: [PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Srinivas Kandagatla 2 months, 3 weeks ago

On 11/12/25 5:13 AM, Vinod Koul wrote:
> 
> On Mon, 27 Oct 2025 14:06:01 +0800, Miaoqian Lin wrote:
>> The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
>> internally uses device_find_child() to obtain a device reference.
>> According to the device_find_child() documentation,
>> the caller must drop the reference with put_device() after use.
>>
>> Found via static analysis and this is similar to commit 4e65bda8273c
>> ("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")
>>
>> [...]
> 
> Applied, thanks!

These are slimbus patches? any reason why they are going via soundwire tree?

--srini>
> [1/1] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
>       commit: bcd8db9640bcad313f7fbf8433fcb5459cdd760a
> 
> Best regards,
Re: [PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Vinod Koul 2 months, 3 weeks ago
On 12-11-25, 10:09, Srinivas Kandagatla wrote:
> 
> 
> On 11/12/25 5:13 AM, Vinod Koul wrote:
> > 
> > On Mon, 27 Oct 2025 14:06:01 +0800, Miaoqian Lin wrote:
> >> The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
> >> internally uses device_find_child() to obtain a device reference.
> >> According to the device_find_child() documentation,
> >> the caller must drop the reference with put_device() after use.
> >>
> >> Found via static analysis and this is similar to commit 4e65bda8273c
> >> ("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")
> >>
> >> [...]
> > 
> > Applied, thanks!
> 
> These are slimbus patches? any reason why they are going via soundwire tree?

My mistake, sorry :-( dropped now

-- 
~Vinod
Re: [PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Srinivas Kandagatla 2 months, 4 weeks ago
On Mon, 27 Oct 2025 14:06:01 +0800, Miaoqian Lin wrote:
> The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
> internally uses device_find_child() to obtain a device reference.
> According to the device_find_child() documentation,
> the caller must drop the reference with put_device() after use.
> 
> Found via static analysis and this is similar to commit 4e65bda8273c
> ("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")
> 
> [...]

Applied, thanks!

[1/1] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
      commit: 79d84af332094852614b15638f7ffe18f5f7966e

Best regards,
-- 
Srinivas Kandagatla <srini@kernel.org>
Re: [PATCH] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
Posted by Dmitry Baryshkov 3 months, 1 week ago
On Mon, Oct 27, 2025 at 02:06:01PM +0800, Miaoqian Lin wrote:
> The function qcom_slim_ngd_notify_slaves() calls of_slim_get_device() which
> internally uses device_find_child() to obtain a device reference.
> According to the device_find_child() documentation,
> the caller must drop the reference with put_device() after use.
> 
> Found via static analysis and this is similar to commit 4e65bda8273c
> ("ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data()")
> 
> Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
>  drivers/slimbus/qcom-ngd-ctrl.c | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry