Bug 1561658

Summary: [VMD] Libvirt doesn't support 32-bit PCI domains
Product: [Community] Virtualization Tools Reporter: Jon Derrick <jonathan.derrick>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED DEFERRED QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: berrange, libvirt-maint, pawel.baldysiak, piotr.skorowski
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-12-17 12:41:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1729485    

Description Jon Derrick 2018-03-28 16:21:46 UTC
Description of problem:
Intel's Volume Management Driver creates new PCI domains starting at 0x10000.
Libvirt errors when attempting to scan the domain due to it being 32-bit:

Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10000:00:02.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10000:01:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10000:00:03.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10000:02:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:00:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:01:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:02:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:03:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:02:01.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:04:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:02:02.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:05:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:02:03.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:06:00.0
Aug 17 07:27:59 localhost journal: internal error: dev->name buffer overflow: 10001:02:04.0


How reproducible:
100% with VMD enabled

Additional info:
The devices behind a VMD domain currently cannot be attached individually (by design). So ideally we just want to prevent individual devices on the domain from being considered for attachment. Also note that (as far as we know), VMD is the only device using 32-bit pcie domains.


There have been two proposals to fix this, but I am open to other suggestions:
1) Expanding the dev->name attribute to fit the 32-bit word:
https://www.spinics.net/linux/fedora/libvir/msg151792.html
2) Ignoring the domain:
https://www.spinics.net/linux/fedora/libvir/msg160754.html

Comment 5 Daniel Berrangé 2024-12-17 12:41:41 UTC
Thank you for reporting this issue to the libvirt project. Unfortunately we have been unable to resolve this issue due to insufficient maintainer capacity and it will now be closed. This is not a reflection on the possible validity of the issue, merely the lack of resources to investigate and address it, for which we apologise. If you none the less feel the issue is still important, you may choose to report it again at the new project issue tracker https://gitlab.com/libvirt/libvirt/-/issues The project also welcomes contribution from anyone who believes they can provide a solution.