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