[PATCH] PCI: Follow-up fix for BAR hardening

From: Philipp Stanner
Date: Wed Mar 05 2025 - 02:54:18 EST


Fixes a bug where variables were used before being initialized.

To be squashed into commit "PCI: Check BAR index for validity"

Signed-off-by: Philipp Stanner <phasta@xxxxxxxxxx>
---
Fix for this already applied patch:
https://lore.kernel.org/all/20250304143112.104190-2-phasta@xxxxxxxxxx/
---
drivers/pci/iomap.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/iomap.c b/drivers/pci/iomap.c
index 0cab82cbcc99..fe706ed946df 100644
--- a/drivers/pci/iomap.c
+++ b/drivers/pci/iomap.c
@@ -40,13 +40,14 @@ void __iomem *pci_iomap_range(struct pci_dev *dev,

if (!pci_bar_index_is_valid(bar))
return NULL;
- if (len <= offset || !start)
- return NULL;

start = pci_resource_start(dev, bar);
len = pci_resource_len(dev, bar);
flags = pci_resource_flags(dev, bar);

+ if (len <= offset || !start)
+ return NULL;
+
len -= offset;
start += offset;
if (maxlen && len > maxlen)
@@ -90,13 +91,13 @@ void __iomem *pci_iomap_wc_range(struct pci_dev *dev,

if (!pci_bar_index_is_valid(bar))
return NULL;
- if (len <= offset || !start)
- return NULL;

start = pci_resource_start(dev, bar);
len = pci_resource_len(dev, bar);
flags = pci_resource_flags(dev, bar);

+ if (len <= offset || !start)
+ return NULL;
if (flags & IORESOURCE_IO)
return NULL;

--
2.48.1