summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2025-10-27 14:07:35 +0800
committerMichael S. Tsirkin <mst@redhat.com>2025-11-27 02:03:06 -0500
commitb41ca62c0019de1321d75f2b2f274a28784a41ed (patch)
treeb915ae188111d85861a3351f7af8e2485f178f7d
parentf0ea2e91093ac979d07ebd033e0f45869b1d2608 (diff)
virtio: vdpa: Fix reference count leak in octep_sriov_enable()
pci_get_device() will increase the reference count for the returned pci_dev, and also decrease the reference count for the input parameter from if it is not NULL. If we break the loop in with 'vf_pdev' not NULL. We need to call pci_dev_put() to decrease the reference count. Found via static anlaysis and this is similar to commit c508eb042d97 ("perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology()") Fixes: 8b6c724cdab8 ("virtio: vdpa: vDPA driver for Marvell OCTEON DPU devices") Cc: stable@vger.kernel.org Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20251027060737.33815-1-linmq006@gmail.com>
-rw-r--r--drivers/vdpa/octeon_ep/octep_vdpa_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/vdpa/octeon_ep/octep_vdpa_main.c b/drivers/vdpa/octeon_ep/octep_vdpa_main.c
index 9e8d07078606..31a02e7fd7f2 100644
--- a/drivers/vdpa/octeon_ep/octep_vdpa_main.c
+++ b/drivers/vdpa/octeon_ep/octep_vdpa_main.c
@@ -736,6 +736,7 @@ static int octep_sriov_enable(struct pci_dev *pdev, int num_vfs)
octep_vdpa_assign_barspace(vf_pdev, pdev, index);
if (++index == num_vfs) {
done = true;
+ pci_dev_put(vf_pdev);
break;
}
}