|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] PCI: don't look for ext-caps when there's no extended cfg space
commit b1543cf5751b30fea77ecac2fe70b095c09f754d
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Feb 2 09:07:46 2026 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Feb 2 10:20:54 2026 +0100
PCI: don't look for ext-caps when there's no extended cfg space
Avoid interpreting as extended capabilities what may be about anything. In
doing so, vPCI then also won't mis-interpret data from beyond base config
space anymore.
Fixes: 3b35911d709e ("Enable pci mmcfg and ATS for x86_64")
Fixes: a845b50c12f3 ("vpci/header: Emulate extended capability list for
dom0")
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/drivers/pci/pci.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index 572cb9b21c..084be3880c 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -113,6 +113,12 @@ unsigned int pci_find_next_ext_capability(const struct
pci_dev *pdev,
int ttl = 480; /* 3840 bytes, minimum 8 bytes per capability */
unsigned int pos = max(start, PCI_CFG_SPACE_SIZE + 0U);
+ if ( !pdev->ext_cfg )
+ {
+ ASSERT(!start);
+ return 0;
+ }
+
header = pci_conf_read32(pdev->sbdf, pos);
/*
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |