From: Xiongfeng Wang Date: Tue, 22 Nov 2022 11:30:42 +0000 (+0800) Subject: drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() X-Git-Tag: baikal/aarch64/sdk5.9~649 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=f4e3301f66dbe4217c8d26e3e0d5c6045087d18f;p=kernel.git drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() [ Upstream commit 725a521a18734f65de05b8d353b5bd0d3ca4c37a ] 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 radeon_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: 372d14baeb38 ("drm/radeon: handle non-VGA class pci devices with ATRM") Fixes: 2cd816568053 ("drm/radeon: split ATRM support out from the ATPX handler (v3)") Signed-off-by: Xiongfeng Wang Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- diff --git a/drivers/gpu/drm/radeon/radeon_bios.c b/drivers/gpu/drm/radeon/radeon_bios.c index 89939f0daefb6..8c8e13ec3cd64 100644 --- a/drivers/gpu/drm/radeon/radeon_bios.c +++ b/drivers/gpu/drm/radeon/radeon_bios.c @@ -227,6 +227,7 @@ static bool radeon_atrm_get_bios(struct radeon_device *rdev) if (!found) return false; + pci_dev_put(pdev); rdev->bios = kmalloc(size, GFP_KERNEL); if (!rdev->bios) {