• Joerg Roedel's avatar
    iommu/amd: Fix small race between invalidate_range_end/start · d73a6d72
    Joerg Roedel authored
    Commit e79df31c introduced mmu_notifer_count to protect
    against parallel mmu_notifier_invalidate_range_start/end
    calls. The patch left a small race condition when
    invalidate_range_end() races with a new
    invalidate_range_start() the empty page-table may be
    reverted leading to stale TLB entries in the IOMMU and the
    device. Use a spin_lock instead of just an atomic variable
    to eliminate the race.
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
amd_iommu_v2.c 21.8 KB