diff options
author | Robin Murphy <[email protected]> | 2019-07-29 16:32:38 +0100 |
---|---|---|
committer | Joerg Roedel <[email protected]> | 2019-08-06 17:22:49 +0200 |
commit | 8af23fad626173eed7cc02733874d4124049bd5e (patch) | |
tree | 33b648afb7bc141828ed9382dd5d0f13a8ab362e /lib/test_overflow.c | |
parent | e21a712a9685488f5ce80495b37b9fdbe96c230d (diff) |
iommu/dma: Handle MSI mappings separately
MSI pages must always be mapped into a device's *current* domain, which
*might* be the default DMA domain, but might instead be a VFIO domain
with its own MSI cookie. This subtlety got accidentally lost in the
streamlining of __iommu_dma_map(), but rather than reintroduce more
complexity and/or special-casing, it turns out neater to just split this
path out entirely.
Since iommu_dma_get_msi_page() already duplicates much of what
__iommu_dma_map() does, it can easily just make the allocation and
mapping calls directly as well. That way we can further streamline the
helper back to exclusively operating on DMA domains.
Fixes: b61d271e59d7 ("iommu/dma: Move domain lookup into __iommu_dma_{map,unmap}")
Reported-by: Shameer Kolothum <[email protected]>
Reported-by: Andre Przywara <[email protected]>
Signed-off-by: Robin Murphy <[email protected]>
Tested-by: Marc Zyngier <[email protected]>
Tested-by: Andre Przywara <[email protected]>
Tested-by: Shameer Kolothum <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
Diffstat (limited to 'lib/test_overflow.c')
0 files changed, 0 insertions, 0 deletions