Browse Source

Handle addresses beyond VMALLOC_END correctly.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Thiemo Seufer 20 years ago
parent
commit
16033d6104
1 changed files with 2 additions and 1 deletions
  1. 2 1
      arch/mips/mm/fault.c

+ 2 - 1
arch/mips/mm/fault.c

@@ -25,6 +25,7 @@
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
 #include <asm/ptrace.h>
 #include <asm/ptrace.h>
+#include <asm/highmem.h>		/* For VMALLOC_END */
 
 
 /*
 /*
  * This routine handles page faults.  It determines the address,
  * This routine handles page faults.  It determines the address,
@@ -57,7 +58,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write,
 	 * only copy the information from the master page table,
 	 * only copy the information from the master page table,
 	 * nothing more.
 	 * nothing more.
 	 */
 	 */
-	if (unlikely(address >= VMALLOC_START))
+	if (unlikely(address >= VMALLOC_START && address <= VMALLOC_END))
 		goto vmalloc_fault;
 		goto vmalloc_fault;
 
 
 	/*
 	/*