• Lu Baolu's avatar
    iommu/vt-d: Disable ATS support on untrusted devices · d8b85910
    Lu Baolu authored
    Commit fb58fdcd ("iommu/vt-d: Do not enable ATS for untrusted
    devices") disables ATS support on the devices which have been marked
    as untrusted. Unfortunately this is not enough to fix the DMA attack
    vulnerabiltiies because IOMMU driver allows translated requests as
    long as a device advertises the ATS capability. Hence a malicious
    peripheral device could use this to bypass IOMMU.
    
    This disables the ATS support on untrusted devices by clearing the
    internal per-device ATS mark. As the result, IOMMU driver will block
    any translated requests from any device marked as untrusted.
    
    Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
    Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
    Suggested-by: default avatarKevin Tian <kevin.tian@intel.com>
    Suggested-by: default avatarAshok Raj <ashok.raj@intel.com>
    Fixes: fb58fdcd ("iommu/vt-d: Do not enable ATS for untrusted devices")
    Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    d8b85910
intel-iommu.c 137 KB