2022-10-27 00:31:13

by Michał Mirosław

[permalink] [raw]
Subject: [PATCH] fbdev/core: Avoid uninitialized read in aperture_remove_conflicting_pci_device()

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 <[email protected]>
---
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.
--
2.30.2



2022-10-27 08:08:09

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [PATCH] fbdev/core: Avoid uninitialized read in aperture_remove_conflicting_pci_device()

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 <[email protected]>
> ---
> 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


Attachments:
OpenPGP_signature (855.00 B)
OpenPGP digital signature