summaryrefslogtreecommitdiff
path: root/sys/arch/i386
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2005-09-15 21:14:28 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2005-09-15 21:14:28 +0000
commit8febb36b3c2de4173ea6dfcd221fe8d00eaadce8 (patch)
treecedd3975bf805bd83930892b072f4287426434ec /sys/arch/i386
parent7a9949a766efb61c185c9bf2f8f4c6b31008d9b5 (diff)
In syscall(), do not recompute the struct proc * after the syscall has
succeeded. This used to be necessary for fork(), when returning in the child, but we return in the child in child_return() which does TRT. ok art@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r--sys/arch/i386/i386/trap.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/arch/i386/i386/trap.c b/sys/arch/i386/i386/trap.c
index 6880a4e4290..27f7b7e0850 100644
--- a/sys/arch/i386/i386/trap.c
+++ b/sys/arch/i386/i386/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.70 2005/09/15 21:09:29 miod Exp $ */
+/* $OpenBSD: trap.c,v 1.71 2005/09/15 21:14:27 miod Exp $ */
/* $NetBSD: trap.c,v 1.95 1996/05/05 06:50:02 mycroft Exp $ */
/*-
@@ -771,11 +771,6 @@ syscall(frame)
KERNEL_PROC_UNLOCK(p);
switch (error) {
case 0:
- /*
- * Reinitialize proc pointer `p' as it may be different
- * if this is a child returning from fork syscall.
- */
- p = curproc;
frame.tf_eax = rval[0];
frame.tf_edx = rval[1];
frame.tf_eflags &= ~PSL_C; /* carry bit */