fbdev/core: Avoid uninitialized read in aperture_remove_conflicting_pci_device()

Message ID e75323732bedc46d613d72ecb40f97e3bc75eea8.1666829073.git.mirq-linux@rere.qmqm.pl
State New
Headers
Series fbdev/core: Avoid uninitialized read in aperture_remove_conflicting_pci_device() |

Commit Message

Michał Mirosław Oct. 27, 2022, 12:06 a.m. UTC
  Return on error directly from the BAR-iterating loop instead of
break+return.

This is actually a cosmetic fix, since it would be highly unusual to
have this called for a PCI device without any memory BARs.

Fixes: 9d69ef183815 ("fbdev/core: Remove remove_conflicting_pci_framebuffers()")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/video/aperture.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
  

Comments

Thomas Zimmermann Oct. 27, 2022, 7:56 a.m. UTC | #1
Hi

thanks for the patch. Added to drm-misc-fixes.

Best regards
Thomas

Am 27.10.22 um 02:06 schrieb Michał Mirosław:
> Return on error directly from the BAR-iterating loop instead of
> break+return.
> 
> This is actually a cosmetic fix, since it would be highly unusual to
> have this called for a PCI device without any memory BARs.
> 
> Fixes: 9d69ef183815 ("fbdev/core: Remove remove_conflicting_pci_framebuffers()")
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>   drivers/video/aperture.c | 5 +----
>   1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
> index 9e6bcc03a1a4..41e77de1ea82 100644
> --- a/drivers/video/aperture.c
> +++ b/drivers/video/aperture.c
> @@ -340,12 +340,9 @@ int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *na
>   		size = pci_resource_len(pdev, bar);
>   		ret = aperture_remove_conflicting_devices(base, size, primary, name);
>   		if (ret)
> -			break;
> +			return ret;
>   	}
>   
> -	if (ret)
> -		return ret;
> -
>   	/*
>   	 * WARNING: Apparently we must kick fbdev drivers before vgacon,
>   	 * otherwise the vga fbdev driver falls over.

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
  

Patch

diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index 9e6bcc03a1a4..41e77de1ea82 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -340,12 +340,9 @@  int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *na
 		size = pci_resource_len(pdev, bar);
 		ret = aperture_remove_conflicting_devices(base, size, primary, name);
 		if (ret)
-			break;
+			return ret;
 	}
 
-	if (ret)
-		return ret;
-
 	/*
 	 * WARNING: Apparently we must kick fbdev drivers before vgacon,
 	 * otherwise the vga fbdev driver falls over.