>>>>> On Mon, 02 Jun 2003 20:14:53 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> said: anemo> If a TLB exception occured on very high address (such as anemo> 0xffffffffffffffff), invalid_vmalloc_address should be called anemo> but currently not. anemo> I think it is because LOAD_KPTE2 in arch/mips64/mm/tlbex-r4k.S anemo> does not check overflow of (kptbl + offset). Here is a patch anemo> (both 2.4 and 2.5). Please ignore it. I missed an another fix. The beqz lacks delay slot. Here is a new patch. 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 20:16:41 2003 @@ -72,9 +72,12 @@ /* * 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 + nop .endm --- Atsushi Nemoto