diff options
| author | Miaoqian Lin <linmq006@gmail.com> | 2025-10-27 14:06:01 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-12-07 06:27:37 +0900 |
| commit | 4795c823a4aaa707bce239e8f38a8b4c23e11bea (patch) | |
| tree | d6046a7b97dd39e58dd1203ff868b2b75863b61e /drivers | |
| parent | 86cfe2d6e0a5036d62d23497ad9bbc4f075fc1ae (diff) | |
| download | linux-4795c823a4aaa707bce239e8f38a8b4c23e11bea.tar.gz linux-4795c823a4aaa707bce239e8f38a8b4c23e11bea.tar.bz2 linux-4795c823a4aaa707bce239e8f38a8b4c23e11bea.zip | |
slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves
commit 96cf8500934e0ce2a6c486f1dbc3b1fff12f7a5e upstream.
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 <stable@kernel.org>
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20251027060601.33228-1-linmq006@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/slimbus/qcom-ngd-ctrl.c | 1 |
1 files changed, 1 insertions, 0 deletions
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); } } |
