Просмотр исходного кода

powerpc/book3e: Fix check for linear mapping in TLB miss handler

The previous code added wrong TLBs and causes machine check errors if
a driver accessed passed the end of the linear mapping instead of
a clean page fault.

Signed-off-by: Ralph E. Bellofatto <ralphbel@us.ibm.com>
Signed-off-by: Benjamin Krill <ben@codiert.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Benjamin Krill 12 лет назад
Родитель
Сommit
60b962239a
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      arch/powerpc/mm/tlb_low_64e.S

+ 2 - 1
arch/powerpc/mm/tlb_low_64e.S

@@ -1091,7 +1091,8 @@ tlb_load_linear:
 	ld	r11,PACATOC(r13)
 	ld	r11,linear_map_top@got(r11)
 	ld	r10,0(r11)
-	cmpld	cr0,r10,r16
+	tovirt(10,10)
+	cmpld	cr0,r16,r10
 	bge	tlb_load_linear_fault
 
 	/* MAS1 need whole new setup. */