video: fbdev: radeon: Fix memleak in radeonfb_pci_register

Started by Dinghao Liu on Aug 25, 2020 · 3 messages from 3 authors · Last reply Sep 8, 2020

Subsystems (3)

Maintainers (3)

STALE2258d LANDED

Status: Landed in mainline as fe6c6a4af2be on 2020-09-08.

open the first message on its own page

Message details and related content
When radeon_kick_out_firmware_fb() fails, info should be
freed just like the subsequent error paths.

Fixes: 069ee21a82344 ("fbdev: Fix loading of module radeonfb on PowerMac")
Signed-off-by: Dinghao Liu <redacted>
---
 drivers/video/fbdev/aty/radeon_base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c
index 3fe509cb9b87..13bd2bd5c043 100644
--- a/drivers/video/fbdev/aty/radeon_base.c
+++ b/drivers/video/fbdev/aty/radeon_base.c
@@ -2307,7 +2307,7 @@ static int radeonfb_pci_register(struct pci_dev *pdev,
 
 	ret = radeon_kick_out_firmware_fb(pdev);
 	if (ret)
-		return ret;
+		goto err_release_fb;
 
 	/* request the mem regions */
 	ret = pci_request_region(pdev, 0, "radeonfb framebuffer");
-- 
2.17.1
Message details and related content
On Tue, Aug 25, 2020 at 9:27 AM Dinghao Liu [off-list ref] wrote:
quoted hunk
When radeon_kick_out_firmware_fb() fails, info should be
freed just like the subsequent error paths.

Fixes: 069ee21a82344 ("fbdev: Fix loading of module radeonfb on PowerMac")
Signed-off-by: Dinghao Liu <redacted>
---
 drivers/video/fbdev/aty/radeon_base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c
index 3fe509cb9b87..13bd2bd5c043 100644
--- a/drivers/video/fbdev/aty/radeon_base.c
+++ b/drivers/video/fbdev/aty/radeon_base.c
@@ -2307,7 +2307,7 @@ static int radeonfb_pci_register(struct pci_dev *pdev,

        ret = radeon_kick_out_firmware_fb(pdev);
        if (ret)
-               return ret;
+               goto err_release_fb;
Good catch ! Thanks

Reviewed-by: Mathieu Malaterre <redacted>
        /* request the mem regions */
        ret = pci_request_region(pdev, 0, "radeonfb framebuffer");
--
2.17.1
Message details and related content
On 8/25/20 9:47 AM, Mathieu Malaterre wrote:
On Tue, Aug 25, 2020 at 9:27 AM Dinghao Liu [off-list ref] wrote:
quoted
When radeon_kick_out_firmware_fb() fails, info should be
freed just like the subsequent error paths.

Fixes: 069ee21a82344 ("fbdev: Fix loading of module radeonfb on PowerMac")
Signed-off-by: Dinghao Liu <redacted>
---
 drivers/video/fbdev/aty/radeon_base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c
index 3fe509cb9b87..13bd2bd5c043 100644
--- a/drivers/video/fbdev/aty/radeon_base.c
+++ b/drivers/video/fbdev/aty/radeon_base.c
@@ -2307,7 +2307,7 @@ static int radeonfb_pci_register(struct pci_dev *pdev,

        ret = radeon_kick_out_firmware_fb(pdev);
        if (ret)
-               return ret;
+               goto err_release_fb;
Good catch ! Thanks

Reviewed-by: Mathieu Malaterre <redacted>
Applied to drm-misc-next tree, thanks.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
quoted
        /* request the mem regions */
        ret = pci_request_region(pdev, 0, "radeonfb framebuffer");
--
2.17.1
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help