[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] VT-d: fix TLB flushing in dma_pte_clear_one()



commit 85c72f9fe764ed96f5c149efcdd69ab7c18bfe3d
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Nov 18 13:55:55 2013 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Nov 18 13:55:55 2013 +0100

    VT-d: fix TLB flushing in dma_pte_clear_one()
    
    The third parameter of __intel_iommu_iotlb_flush() is to indicate
    whether the to be flushed entry was a present one. A few lines before,
    we bailed if !dma_pte_present(*pte), so there's no need to check the
    flag here again - we can simply always pass TRUE here.
    
    This is XSA-78.
    
    Suggested-by: Cheng Yueqiang <yqcheng.2008@xxxxxxxxxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Acked-by: Keir Fraser <keir@xxxxxxx>
---
 xen/drivers/passthrough/vtd/iommu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c 
b/xen/drivers/passthrough/vtd/iommu.c
index 97d5b5e..76d0bfd 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -646,7 +646,7 @@ static void dma_pte_clear_one(struct domain *domain, u64 
addr)
     iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
 
     if ( !this_cpu(iommu_dont_flush_iotlb) )
-        __intel_iommu_iotlb_flush(domain, addr >> PAGE_SHIFT_4K , 0, 1);
+        __intel_iommu_iotlb_flush(domain, addr >> PAGE_SHIFT_4K, 1, 1);
 
     unmap_vtd_domain_page(page);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.