linux-mips
[Top] [All Lists]

mips64 LOAD_KPTE2 fix

To: linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: mips64 LOAD_KPTE2 fix
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Mon, 02 Jun 2003 20:14:53 +0900 (JST)
Organization: TOSHIBA Personal Computer System Corporation
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
If a TLB exception occured on very high address (such as
0xffffffffffffffff), invalid_vmalloc_address should be called but
currently not.

I think it is because LOAD_KPTE2 in arch/mips64/mm/tlbex-r4k.S does
not check overflow of (kptbl + offset).  Here is a patch (both 2.4 and
2.5).


diff -u linux-mips-cvs/arch/mips64/mm/tlbex-r4k.S 
linux.new/arch/mips64/mm/tlbex-r4k.S
--- linux-mips-cvs/arch/mips64/mm/tlbex-r4k.S   Mon Apr 28 09:44:54 2003
+++ linux.new/arch/mips64/mm/tlbex-r4k.S        Mon Jun  2 19:44:57 2003
@@ -72,6 +72,8 @@
        /*
         * Determine that fault address is within vmalloc range.
         */
+       bgez    \ptr, \not_vmalloc              # check overflow
+       nop
        dla     \tmp, ekptbl
        sltu    \tmp, \ptr, \tmp
        beqz    \tmp, \not_vmalloc              # not vmalloc
---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>