On Wed, May 26, 2021 at 02:48:03AM +0530, Kirti Wankhede wrote:
On 5/26/2021 1:22 AM, Jason Gunthorpe wrote:
On Wed, May 26, 2021 at 12:56:30AM +0530, Kirti Wankhede wrote:
2. iommu backed mdev devices for SRIOV where mdev device is created per
VF (mdev device == VF device) then that mdev device has same iommu
protection scope as VF associated to it.
This doesn't require, and certainly shouldn't create, a fake group.
Only the VF's real IOMMU group should be used to model an iommu domain
linked to a VF. Injecting fake groups that are proxies for real groups
only opens the possibility of security problems like David is
concerned with.
I think this security issue should be addressed by letting mdev device
inherit its parent's iommu_group, i.e. VF's iommu_group here.
No, that doesn't work. AIUI part of the whole point of mdevs is to
allow chunks of a single PCI function to be handed out to different
places, because they're isolated from each other not by the system
IOMMU, but by a combination of MMU hardware in the hardware (e.g. in a
GPU card) and software in the mdev driver.
If mdevs inherited the
group of their parent device they wouldn't count as isolated from each
other, which they should.