patch-2.4.25 linux-2.4.25/arch/i386/mm/fault.c
Next file: linux-2.4.25/arch/ia64/config.in
Previous file: linux-2.4.25/arch/i386/math-emu/fpu_system.h
Back to the patch index
Back to the overall index
-  Lines: 10
-  Date:
2004-02-18 05:36:30.000000000 -0800
-  Orig file: 
linux-2.4.24/arch/i386/mm/fault.c
-  Orig date: 
2002-11-28 15:53:09.000000000 -0800
diff -urN linux-2.4.24/arch/i386/mm/fault.c linux-2.4.25/arch/i386/mm/fault.c
@@ -270,7 +270,8 @@
 	/* User mode accesses just cause a SIGSEGV */
 	if (error_code & 4) {
 		tsk->thread.cr2 = address;
-		tsk->thread.error_code = error_code;
+		/* Kernel addresses are always protection faults */
+		tsk->thread.error_code = error_code | (address >= TASK_SIZE);
 		tsk->thread.trap_no = 14;
 		info.si_signo = SIGSEGV;
 		info.si_errno = 0;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)