Message ID | 20221122113043.18715-3-wangxiongfeng2@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Fix PCI device refcount leak | expand |
Applied the series. Thanks! Alex On Tue, Nov 22, 2022 at 6:13 AM Xiongfeng Wang <wangxiongfeng2@huawei.com> wrote: > > As comment of pci_get_class() says, it returns a pci_device with its > refcount increased and decreased the refcount for the input parameter > @from if it is not NULL. > > If we break the loop in amdgpu_atrm_get_bios() with 'pdev' not NULL, we > need to call pci_dev_put() to decrease the refcount. Add the missing > pci_dev_put() to avoid refcount leak. > > Fixes: d38ceaf99ed0 ("drm/amdgpu: add core driver (v4)") > Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c > index e363f56c72af..30c28a69e847 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c > @@ -317,6 +317,7 @@ static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) > > if (!found) > return false; > + pci_dev_put(pdev); > > adev->bios = kmalloc(size, GFP_KERNEL); > if (!adev->bios) { > -- > 2.20.1 >
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c index e363f56c72af..30c28a69e847 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c @@ -317,6 +317,7 @@ static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) if (!found) return false; + pci_dev_put(pdev); adev->bios = kmalloc(size, GFP_KERNEL); if (!adev->bios) {
As comment of pci_get_class() says, it returns a pci_device with its refcount increased and decreased the refcount for the input parameter @from if it is not NULL. If we break the loop in amdgpu_atrm_get_bios() with 'pdev' not NULL, we need to call pci_dev_put() to decrease the refcount. Add the missing pci_dev_put() to avoid refcount leak. Fixes: d38ceaf99ed0 ("drm/amdgpu: add core driver (v4)") Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 1 + 1 file changed, 1 insertion(+)