• David Woodhouse's avatar
    iommu/vt-d: Fix passthrough mode with translation-disabled devices · 0100065e
    David Woodhouse authored
    commit 4ed6a540 upstream.
    
    When we use 'intel_iommu=igfx_off' to disable translation for the
    graphics, and when we discover that the BIOS has misconfigured the DMAR
    setup for I/OAT, we use a special DUMMY_DEVICE_DOMAIN_INFO value in
    dev->archdata.iommu to indicate that translation is disabled.
    
    With passthrough mode, we were attempting to dereference that as a
    normal pointer to a struct device_domain_info when setting up an
    identity mapping for the affected device.
    
    This fixes the problem by making device_to_iommu() explicitly check for
    the special value and indicate that no IOMMU was found to handle the
    devices in question.
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
    0100065e
intel-iommu.c 119 KB