summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2007-05-15 16:02:19 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2007-05-15 16:02:19 +0000
commitccf8ef5bbb61ec62f07170985bcca4aaaa707cdb (patch)
treeab9d1709ae94d4c136fc78b1a8ae4f3cea52f14f
parent91787813a837d6085f137a97a13ea2634706a87f (diff)
External bus errors should not occur, so panic. ok deraadt@
-rw-r--r--sys/arch/arm/arm/fault.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/arch/arm/arm/fault.c b/sys/arch/arm/arm/fault.c
index c2c51aa3f15..0eb1279e5b3 100644
--- a/sys/arch/arm/arm/fault.c
+++ b/sys/arch/arm/arm/fault.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fault.c,v 1.9 2006/12/24 20:30:35 miod Exp $ */
+/* $OpenBSD: fault.c,v 1.10 2007/05/15 16:02:18 drahn Exp $ */
/* $NetBSD: fault.c,v 1.46 2004/01/21 15:39:21 skrll Exp $ */
/*
@@ -621,18 +621,10 @@ dab_buserr(trapframe_t *tf, u_int fsr, u_int far, struct proc *p,
(void) data_abort_fixup(tf, fsr, far, p);
/*
- * At this point, if the fault happened in kernel mode, we're toast
+ * At this point, if the fault happened in kernel mode or user mode,
+ * we're toast
*/
- if (!TRAP_USERMODE(tf))
- dab_fatal(tf, fsr, far, p, NULL);
-
- /* Deliver a bus error signal to the process */
- sd->signo = SIGBUS;
- sd->code = BUS_ADRERR;
- sd->addr = far;
- sd->trap = fsr;
-
- p->p_addr->u_pcb.pcb_tf = tf;
+ dab_fatal(tf, fsr, far, p, NULL);
return (1);
}