diff options
author | 2005-09-15 21:09:27 +0000 | |
---|---|---|
committer | 2005-09-15 21:09:27 +0000 | |
commit | 919928f7b458be80e3b7391293faafeabc759ef8 (patch) | |
tree | cd0d678d452337a2aeaabadc19e8ae59ad162184 | |
parent | Define PG_M_U as PG_M | PG_U, and use it where appropriate; no functional (diff) | |
download | wireguard-openbsd-919928f7b458be80e3b7391293faafeabc759ef8.tar.xz wireguard-openbsd-919928f7b458be80e3b7391293faafeabc759ef8.zip |
Change child_return() to record a proper ktrace record for vfork child
processes.
ok art@ uwe@ (some time ago)
-rw-r--r-- | sys/arch/alpha/alpha/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/amd64/amd64/syscall.c | 5 | ||||
-rw-r--r-- | sys/arch/arm/arm/syscall.c | 6 | ||||
-rw-r--r-- | sys/arch/hppa/hppa/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/hppa64/hppa64/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/i386/i386/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/m88k/m88k/trap.c | 6 | ||||
-rw-r--r-- | sys/arch/mips64/mips64/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/powerpc/powerpc/trap.c | 5 | ||||
-rw-r--r-- | sys/arch/solbourne/solbourne/trap.c | 4 | ||||
-rw-r--r-- | sys/arch/sparc/sparc/trap.c | 4 | ||||
-rw-r--r-- | sys/arch/sparc64/sparc64/trap.c | 4 | ||||
-rw-r--r-- | sys/arch/vax/vax/trap.c | 5 |
13 files changed, 38 insertions, 26 deletions
diff --git a/sys/arch/alpha/alpha/trap.c b/sys/arch/alpha/alpha/trap.c index 2b4060a6a5e..9212ffa8f47 100644 --- a/sys/arch/alpha/alpha/trap.c +++ b/sys/arch/alpha/alpha/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.46 2005/04/28 17:19:27 deraadt Exp $ */ +/* $OpenBSD: trap.c,v 1.47 2005/09/15 21:09:27 miod Exp $ */ /* $NetBSD: trap.c,v 1.52 2000/05/24 16:48:33 thorpej Exp $ */ /*- @@ -726,7 +726,8 @@ child_return(arg) userret(p, p->p_md.md_tf->tf_regs[FRAME_PC], 0); #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/amd64/amd64/syscall.c b/sys/arch/amd64/amd64/syscall.c index f41166b80a0..eb49fb853d4 100644 --- a/sys/arch/amd64/amd64/syscall.c +++ b/sys/arch/amd64/amd64/syscall.c @@ -1,4 +1,4 @@ -/* $OpenBSD: syscall.c,v 1.7 2004/05/13 20:20:24 sturm Exp $ */ +/* $OpenBSD: syscall.c,v 1.8 2005/09/15 21:09:29 miod Exp $ */ /* $NetBSD: syscall.c,v 1.1 2003/04/26 18:39:32 fvdl Exp $ */ /*- @@ -206,7 +206,8 @@ child_return(void *arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) { KERNEL_PROC_LOCK(p); - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); KERNEL_PROC_UNLOCK(p); } #endif diff --git a/sys/arch/arm/arm/syscall.c b/sys/arch/arm/arm/syscall.c index 5b026576e87..efb47471d56 100644 --- a/sys/arch/arm/arm/syscall.c +++ b/sys/arch/arm/arm/syscall.c @@ -1,4 +1,4 @@ -/* $OpenBSD: syscall.c,v 1.4 2004/02/23 19:09:57 drahn Exp $ */ +/* $OpenBSD: syscall.c,v 1.5 2005/09/15 21:09:29 miod Exp $ */ /* $NetBSD: syscall.c,v 1.24 2003/11/14 19:03:17 scw Exp $ */ /*- @@ -486,9 +486,11 @@ child_return(arg) #endif userret(p, frame->tf_pc, 0); + #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) { - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); } #endif } diff --git a/sys/arch/hppa/hppa/trap.c b/sys/arch/hppa/hppa/trap.c index d110fc48045..47256b857fa 100644 --- a/sys/arch/hppa/hppa/trap.c +++ b/sys/arch/hppa/hppa/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.88 2005/08/14 10:54:15 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.89 2005/09/15 21:09:29 miod Exp $ */ /* * Copyright (c) 1998-2004 Michael Shalayeff @@ -591,7 +591,8 @@ child_return(arg) userret(p, tf->tf_iioq_head, 0); #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/hppa64/hppa64/trap.c b/sys/arch/hppa64/hppa64/trap.c index e534ceec91d..cc47c39b967 100644 --- a/sys/arch/hppa64/hppa64/trap.c +++ b/sys/arch/hppa64/hppa64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.3 2005/08/14 10:54:17 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.4 2005/09/15 21:09:29 miod Exp $ */ /* * Copyright (c) 2005 Michael Shalayeff @@ -558,7 +558,8 @@ child_return(arg) userret(p, tf->tf_iioq[0], 0); #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/i386/i386/trap.c b/sys/arch/i386/i386/trap.c index 960753234ab..6880a4e4290 100644 --- a/sys/arch/i386/i386/trap.c +++ b/sys/arch/i386/i386/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.69 2005/05/29 03:20:38 deraadt Exp $ */ +/* $OpenBSD: trap.c,v 1.70 2005/09/15 21:09:29 miod Exp $ */ /* $NetBSD: trap.c,v 1.95 1996/05/05 06:50:02 mycroft Exp $ */ /*- @@ -839,7 +839,8 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) { KERNEL_PROC_LOCK(p); - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); KERNEL_PROC_UNLOCK(p); } #endif diff --git a/sys/arch/m88k/m88k/trap.c b/sys/arch/m88k/m88k/trap.c index 15428bb1d92..160b407fe60 100644 --- a/sys/arch/m88k/m88k/trap.c +++ b/sys/arch/m88k/m88k/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.19 2005/08/06 09:53:36 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.20 2005/09/15 21:09:29 miod Exp $ */ /* * Copyright (c) 2004, Miodrag Vallat. * Copyright (c) 1998 Steve Murphree, Jr. @@ -1461,9 +1461,11 @@ child_return(arg) #endif userret(p, tf, p->p_sticks); + #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/mips64/mips64/trap.c b/sys/arch/mips64/mips64/trap.c index 4b7fcc698c0..f1e9da6caac 100644 --- a/sys/arch/mips64/mips64/trap.c +++ b/sys/arch/mips64/mips64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.22 2005/01/31 21:35:50 grange Exp $ */ +/* $OpenBSD: trap.c,v 1.23 2005/09/15 21:09:29 miod Exp $ */ /* tracked to 1.23 */ /* @@ -837,7 +837,8 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/powerpc/powerpc/trap.c b/sys/arch/powerpc/powerpc/trap.c index eb820cb95d5..575da48d5a7 100644 --- a/sys/arch/powerpc/powerpc/trap.c +++ b/sys/arch/powerpc/powerpc/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.68 2005/05/30 22:12:32 drahn Exp $ */ +/* $OpenBSD: trap.c,v 1.69 2005/09/15 21:09:29 miod Exp $ */ /* $NetBSD: trap.c,v 1.3 1996/10/13 03:31:37 christos Exp $ */ /* @@ -697,7 +697,8 @@ child_return(void *arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/solbourne/solbourne/trap.c b/sys/arch/solbourne/solbourne/trap.c index a6cbdc71625..279c80e265a 100644 --- a/sys/arch/solbourne/solbourne/trap.c +++ b/sys/arch/solbourne/solbourne/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.3 2005/07/18 02:43:26 fgsch Exp $ */ +/* $OpenBSD: trap.c,v 1.4 2005/09/15 21:09:29 miod Exp $ */ /* OpenBSD: trap.c,v 1.42 2004/12/06 20:12:25 miod Exp */ /* @@ -992,6 +992,6 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) ktrsysret(p, - (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/sparc/sparc/trap.c b/sys/arch/sparc/sparc/trap.c index 5ad537e4c19..496e0989770 100644 --- a/sys/arch/sparc/sparc/trap.c +++ b/sys/arch/sparc/sparc/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.44 2005/04/21 04:39:35 mickey Exp $ */ +/* $OpenBSD: trap.c,v 1.45 2005/09/15 21:09:29 miod Exp $ */ /* $NetBSD: trap.c,v 1.58 1997/09/12 08:55:01 pk Exp $ */ /* @@ -1181,6 +1181,6 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) ktrsysret(p, - (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/sparc64/sparc64/trap.c b/sys/arch/sparc64/sparc64/trap.c index 25a6ebbce11..170e203c4a7 100644 --- a/sys/arch/sparc64/sparc64/trap.c +++ b/sys/arch/sparc64/sparc64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.35 2005/04/21 04:39:35 mickey Exp $ */ +/* $OpenBSD: trap.c,v 1.36 2005/09/15 21:09:30 miod Exp $ */ /* $NetBSD: trap.c,v 1.73 2001/08/09 01:03:01 eeh Exp $ */ /* @@ -1457,7 +1457,7 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) ktrsysret(p, - (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } diff --git a/sys/arch/vax/vax/trap.c b/sys/arch/vax/vax/trap.c index 8ac1d4fbf89..23a50c3128a 100644 --- a/sys/arch/vax/vax/trap.c +++ b/sys/arch/vax/vax/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.30 2005/08/06 17:09:10 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.31 2005/09/15 21:09:30 miod Exp $ */ /* $NetBSD: trap.c,v 1.47 1999/08/21 19:26:20 matt Exp $ */ /* * Copyright (c) 1994 Ludd, University of Lule}, Sweden. @@ -478,6 +478,7 @@ child_return(arg) #ifdef KTRACE if (KTRPOINT(p, KTR_SYSRET)) - ktrsysret(p, SYS_fork, 0, 0); + ktrsysret(p, + (p->p_flag & P_PPWAIT) ? SYS_vfork : SYS_fork, 0, 0); #endif } |