I'm seeing a seg fault in xf86scanpci. The problem is because the pci_devp array is defined to have MAX_PCI_DEVICES + 1 elements at compile time. But, at run time, the variable xf86MaxPciDevs is set to the actual number of buses in the system. If there are more than 128 buses, the array bounds are exceeded and a seg fault occurs.
Created attachment 9484 [details] [review] Don't allow xf86MaxPciDevs to exceed MAX_PCI_DEVICES. I've tested this patch on an x86_64 system, but I believe we are seeing the same problem on IA64.
That's not the right fix. The right fix is to allocate that array dynamically. (Otherwise, if the VGA device is not in the first 128 or however many, then X still won't start.) I have a patch for this, will attach it shortly.
(In reply to comment #2) > I have a patch for this, will attach it shortly. Sounds great! I'm not real familiar with how X works so I was wondering why it needs to store info for every PCI device in the system.
Actually, already applied to git master as commits d322608dc929d5f8cda07a53143a4f28423e0460 and 8a06ff9ffa4816d192e58e43e7fe569b97b4dd7c. Sorry for the lag in the response.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.