iommu/vt-d: Use bounce buffer for untrusted devices
authorLu Baolu <baolu.lu@linux.intel.com>
Fri, 6 Sep 2019 06:14:52 +0000 (14:14 +0800)
committerJoerg Roedel <jroedel@suse.de>
Wed, 11 Sep 2019 10:34:31 +0000 (12:34 +0200)
commitcfb94a372f2d4ee226247447c863f8709863d170
treeb209631fec06e8a494fd5380ff7b9caf6c236557
parent3b53034c268d550d9e8522e613a14ab53b8840d8
iommu/vt-d: Use bounce buffer for untrusted devices

The Intel VT-d hardware uses paging for DMA remapping.
The minimum mapped window is a page size. The device
drivers may map buffers not filling the whole IOMMU
window. This allows the device to access to possibly
unrelated memory and a malicious device could exploit
this to perform DMA attacks. To address this, the
Intel IOMMU driver will use bounce pages for those
buffers which don't fill whole IOMMU pages.

Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Tested-by: Xu Pengfei <pengfei.xu@intel.com>
Tested-by: Mika Westerberg <mika.westerberg@intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c