patch-2.4.27 linux-2.4.27/include/asm-m68k/motorola_pgalloc.h

Next file: linux-2.4.27/include/asm-ppc64/ptrace.h
Previous file: linux-2.4.27/include/asm-ia64/system.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.26/include/asm-m68k/motorola_pgalloc.h linux-2.4.27/include/asm-m68k/motorola_pgalloc.h
@@ -231,20 +231,24 @@
 
 static inline void flush_tlb_mm(struct mm_struct *mm)
 {
-	if (mm == current->mm)
+	if (mm == current->active_mm)
 		__flush_tlb();
 }
 
 static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
 {
-	if (vma->vm_mm == current->mm)
+	if (vma->vm_mm == current->active_mm) {
+		mm_segment_t old_fs = get_fs();
+		set_fs(USER_DS);
 		__flush_tlb_one(addr);
+		set_fs(old_fs);
+	}
 }
 
 static inline void flush_tlb_range(struct mm_struct *mm,
 				   unsigned long start, unsigned long end)
 {
-	if (mm == current->mm)
+	if (mm == current->active_mm)
 		__flush_tlb();
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)