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

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)