xen/arm: create_xen_entries has to flush TLBs on every CPU
authorJulien Grall <julien.grall@linaro.org>
Wed, 23 Apr 2014 11:36:56 +0000 (12:36 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 2 May 2014 12:34:33 +0000 (13:34 +0100)
The function create_xen_entries creates mappings in second-level page tables
which is shared between every CPU.

Only flushing TLBs on local processor may result to wrong behaviour
when io{re,un}map is used.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/mm.c

index 362bc8d29e060053147733dc3cfffb667c7c116d..eac228c848c88d528a417955a52a2639d9b80792 100644 (file)
@@ -845,7 +845,7 @@ static int create_xen_entries(enum xenmap_operation op,
                 BUG();
         }
     }
-    flush_xen_data_tlb_range_va_local(virt, PAGE_SIZE * nr_mfns);
+    flush_xen_data_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
 
     rc = 0;