patch-2.1.4 linux/arch/alpha/mm/fault.c

Next file: linux/arch/i386/defconfig
Previous file: linux/arch/alpha/math-emu/fp-emul.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.3/linux/arch/alpha/mm/fault.c linux/arch/alpha/mm/fault.c
@@ -99,8 +99,11 @@
 	up(&mm->mmap_sem);
 	/* Did we have an exception handler installed? */
 	if (current->tss.ex.count == 1) {
+		printk("Taking exception at %lx (%lx)\n", regs.pc, regs.r28);
 		current->tss.ex.count = 0;
-		__handle_exception(&current->tss.ex);
+		/* return to the address in r28 */
+		(&regs)->pc = regs.r28;
+		return;
 	}
 	if (user_mode(&regs)) {
 		printk("%s: memory violation at pc=%08lx rp=%08lx (bad address = %08lx)\n",

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov