On 2022-03-30 13:38, Jason Gunthorpe wrote: > On Wed, Mar 30, 2022 at 01:36:25PM -0600, Logan Gunthorpe wrote: > >> Checking simply for PCI_EXP_TYPE_ROOT_PORT instead of a zero devfn is >> probably a good idea, assuming it works for all existing systems. I'd >> expect it would be set for all the devices currently allowed. > > I think if we find a PCI ID in the white list as we go up the PCI > hierarchy we should just declare success? Well, in older hardware we also have to ensure that the devices are on the same host bridge. (See REQ_SAME_HOST_BRIDGE). So it's a bit more complicated than that... > Does it matter if it is the top of the tree or if it is a root port or > host bridge? The IDs in this list only exist as part of SOCs, so > seeing them at all should confirm the whole SOC.. Not sure if that will always hold with multi-socket systems. The code currently uses pci_find_host_bridge() for each device, then uses pci_host_bridge_dev() simply to find identifying information about the host bridge. It doesn't really matter where in the tree things are, but it would be add for the host bridge not to be at the top, I would have thought. Logan