Re: [PATCH v4 10/18] PCI: Account for ACS egress control in isolation checks
| Newsgroups | org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <[email protected]> |
> From: Leon Romanovsky <[email protected]> > > pci_acs_enabled() treats P2P Request Redirect as effective whenever its > control bit is set. PCIe r7.0, sec 6.12.3, table 6-11 lets an enabled > Egress Control Vector override it: a clear vector bit routes the request > directly. > > IOMMU grouping uses this check to prove peer requests cannot bypass the > IOMMU, but cannot know every applicable vector bit, so Request Redirect > gives no such guarantee while Egress Control is enabled. > > Report Request Redirect as ineffective there, merging the devices into > one IOMMU group, and report no isolation when the register cannot be > read. Apply the same rule to the Intel SPT PCH quirk. > > Unlike Direct Translated P2P this holds for an Untranslated Request too, > so it applies in both scopes. pci_enable_pasid() therefore fails on a > path where a port has Egress Control enabled, because Request Redirect > no longer shows that a Request carrying a PASID reaches the translation > agent. > > Tested-by: Tushar Dave <[email protected]> > Fixes: ad805758c0eb ("PCI: add ACS validation utility") > Reviewed-by: Logan Gunthorpe <[email protected]> > Signed-off-by: Leon Romanovsky <[email protected]> Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=10