41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From 46b8c87f1aa08a0794b45b394c5462f33bec54b0 Mon Sep 17 00:00:00 2001
|
|
From: Philipp Stanner <phasta@kernel.org>
|
|
Date: Wed, 12 Mar 2025 09:06:34 +0100
|
|
Subject: PCI: Fix wrong length of devres array
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
The array for the iomapping cookie addresses has a length of
|
|
PCI_STD_NUM_BARS. This constant, however, only describes standard BARs;
|
|
while PCI can allow for additional, special BARs.
|
|
|
|
The total number of PCI resources is described by constant
|
|
PCI_NUM_RESOURCES, which is also used in, e.g., pci_select_bars().
|
|
|
|
Thus, the devres array has so far been too small.
|
|
|
|
Change the length of the devres array to PCI_NUM_RESOURCES.
|
|
|
|
Link: https://lore.kernel.org/r/20250312080634.13731-3-phasta@kernel.org
|
|
Fixes: bbaff68bf4a4 ("PCI: Add managed partial-BAR request and map infrastructure")
|
|
Signed-off-by: Philipp Stanner <phasta@kernel.org>
|
|
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
|
|
Cc: stable@vger.kernel.org # v6.11+
|
|
---
|
|
drivers/pci/devres.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/pci/devres.c
|
|
+++ b/drivers/pci/devres.c
|
|
@@ -40,7 +40,7 @@
|
|
* Legacy struct storing addresses to whole mapped BARs.
|
|
*/
|
|
struct pcim_iomap_devres {
|
|
- void __iomem *table[PCI_STD_NUM_BARS];
|
|
+ void __iomem *table[PCI_NUM_RESOURCES];
|
|
};
|
|
|
|
/* Used to restore the old INTx state on driver detach. */
|