• David Woodhouse's avatar
    intel-iommu: Fix tiny theoretical race in write-buffer flush. · 462b60f6
    David Woodhouse authored
    In iommu_flush_write_buffer() we read iommu->gcmd before taking the
    register_lock, and then we mask in the WBF bit and write it to the
    register.
    
    There is a tiny chance that something else could have _changed_
    iommu->gcmd before we take the lock, but after we read it. So we could
    be undoing that change.
    
    Never actually going to have happened in practice, since nothing else
    changes that register at runtime -- aside from the write-buffer flush
    it's only ever touched at startup for enabling translation, etc.
    
    But worth fixing anyway.
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    462b60f6
intel-iommu.c 78.9 KB