• Joerg Roedel's avatar
    iommu/vt-d: Fix dmar_domain leak in iommu_attach_device · 62c22167
    Joerg Roedel authored
    Since commit 1196c2fb a domain is only destroyed in the
    notifier path if it is hot-unplugged. This caused a
    domain leakage in iommu_attach_device when a driver was
    unbound from the device and bound to VFIO. In this case the
    device is attached to a new domain and unlinked from the old
    domain. At this point nothing points to the old domain
    anymore and its memory is leaked.
    Fix this by explicitly freeing the old domain in
    iommu_attach_domain.
    
    Fixes: 1196c2fb (iommu/vt-d: Fix dmar_domain leak in iommu_attach_device)
    Cc: stable@vger.kernel.org # v3.18
    Tested-by: default avatarJerry Hoemann <jerry.hoemann@hp.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    62c22167
intel-iommu.c 119 KB