summaryrefslogtreecommitdiff
path: root/arch/powerpc/mm
diff options
context:
space:
mode:
authorBenjamin Krill <ben@codiert.org>2014-02-27 18:49:21 +0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-03-07 08:54:51 +0400
commit60b962239a0837869be3e9192003fb8076068b91 (patch)
tree76c3ae723ca0c4950656a638342b456b9966d1f9 /arch/powerpc/mm
parenteb3b80f676c8b610bcf5e3ba58d2876a04f74b16 (diff)
downloadlinux-60b962239a0837869be3e9192003fb8076068b91.tar.xz
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>
Diffstat (limited to 'arch/powerpc/mm')
-rw-r--r--arch/powerpc/mm/tlb_low_64e.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/tlb_low_64e.S b/arch/powerpc/mm/tlb_low_64e.S
index c95eb323e9ae..6bf50507a4b5 100644
--- a/arch/powerpc/mm/tlb_low_64e.S
+++ b/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. */