drivers/slimbus/qcom-ngd-ctrl.c | 1 + 1 file changed, 1 insertion(+)
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)
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
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,
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
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>
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
© 2016 - 2026 Red Hat, Inc.