summaryrefslogtreecommitdiff
path: root/sys/arch/macppc
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2001-09-20 13:02:31 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2001-09-20 13:02:31 +0000
commit65365bf16ca8b47f4ecff55133cc84c6ef500537 (patch)
treecae6aa89b9b80fb671d76fc9f5367a1ea93b093e /sys/arch/macppc
parent624e32f8c16fadf2a7b72afa6a41835e9c1268f4 (diff)
On a fault the onfault condition should be set to the old handler, not
cleared. This code restored the old handler on normal completion but not on fault.
Diffstat (limited to 'sys/arch/macppc')
-rw-r--r--sys/arch/macppc/macppc/machdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arch/macppc/macppc/machdep.c b/sys/arch/macppc/macppc/machdep.c
index 81e86fa3c1f..bfd934755a8 100644
--- a/sys/arch/macppc/macppc/machdep.c
+++ b/sys/arch/macppc/macppc/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.7 2001/09/19 20:50:57 mickey Exp $ */
+/* $OpenBSD: machdep.c,v 1.8 2001/09/20 13:02:30 drahn Exp $ */
/* $NetBSD: machdep.c,v 1.4 1996/10/16 19:33:11 ws Exp $ */
/*
@@ -1465,7 +1465,7 @@ kcopy(from, to, size)
register void *oldh = curproc->p_addr->u_pcb.pcb_onfault;
if (setfault(env)) {
- curpcb->pcb_onfault = 0;
+ curproc->p_addr->u_pcb.pcb_onfault = oldh;
return EFAULT;
}
bcopy(from, to, size);