Make sure to drop the reference taken when looking up the PCI device on QoS updates.
Fixes: 22d7a6c39cab ("crypto: hisilicon/qm - add pci bdf number check") Cc: stable@vger.kernel.org # 6.2 Cc: Kai Ye yekai13@huawei.com Signed-off-by: Johan Hovold johan@kernel.org --- drivers/crypto/hisilicon/qm.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index a5b96adf2d1e..ef6fdcc3dbcb 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -3871,11 +3871,14 @@ static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf, pdev = container_of(dev, struct pci_dev, dev); if (pci_physfn(pdev) != qm->pdev) { pci_err(qm->pdev, "the pdev input does not match the pf!\n"); + put_device(dev); return -EINVAL; }
*fun_index = pdev->devfn;
+ put_device(dev); + return 0; }
On 2025/11/21 19:11, Johan Hovold wrote:
Make sure to drop the reference taken when looking up the PCI device on QoS updates.
Fixes: 22d7a6c39cab ("crypto: hisilicon/qm - add pci bdf number check") Cc: stable@vger.kernel.org # 6.2 Cc: Kai Ye yekai13@huawei.com Signed-off-by: Johan Hovold johan@kernel.org
drivers/crypto/hisilicon/qm.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index a5b96adf2d1e..ef6fdcc3dbcb 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -3871,11 +3871,14 @@ static ssize_t qm_get_qos_value(struct hisi_qm *qm, const char *buf, pdev = container_of(dev, struct pci_dev, dev); if (pci_physfn(pdev) != qm->pdev) { pci_err(qm->pdev, "the pdev input does not match the pf!\n");
return -EINVAL; }put_device(dev);*fun_index = pdev->devfn;
- put_device(dev);
- return 0;
}
This issue has already been fixed by the following patch: "[PATCH] crypto: hisilicon/qm - Fix device reference leak in qm_get_qos_value".
Thanks. Longfang.
On Mon, Nov 24, 2025 at 10:03:03AM +0800, liulongfang wrote:
On 2025/11/21 19:11, Johan Hovold wrote:
Make sure to drop the reference taken when looking up the PCI device on QoS updates.
This issue has already been fixed by the following patch: "[PATCH] crypto: hisilicon/qm - Fix device reference leak in qm_get_qos_value".
Ah, sorry for not noticing. I was still using rc5 as base and apparently forgot to check linux-next.
Johan
linux-stable-mirror@lists.linaro.org