On 03/19/2013 07:48 PM, H. Peter Anvin wrote: > On 03/19/2013 06:28 PM, Matthew Garrett wrote: >> Mm. The question is whether we can reliably determine the ranges a device >> should be able to access without having to trust userspace (and, ideally, >> without having to worry about whether iommu vendors have done their job). >> It's pretty important for PCI passthrough, so we do need to care. > > It is actually very simple: the device should be able to DMA into/out of: > > 1. pinned pages > 2. owned by the process controlling the device > > ... and nothing else. >
The "pinning" process needs to involve a call to the kernel to process the page for DMA (pinning the page and opening it in the iommu) and return a transaction address, of course. I think we have the interface for that in vfio, but I haven't followed that work. -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/