diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2008-11-09 05:13:56 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2008-11-09 05:13:56 +0000 |
commit | 5336a63e9b58cc2703d970750bb3df3d1585ef0d (patch) | |
tree | 7fd651609353deb1131299791b6de500f2d18ecf /sys/dev/systrace.h | |
parent | 69817b230bc02fcffaba1de32581a16c7a2eec81 (diff) |
systrace activation happens in the middle of a rather sensitive piece of
fork(), i worry about it a lot but cannot prove yet that sleeping there
is bad. Anyways, this change makes us never sleep in that area -- the
memory needed is allocated ealier like the ptrace state. tested by many
developers.
Diffstat (limited to 'sys/dev/systrace.h')
-rw-r--r-- | sys/dev/systrace.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/systrace.h b/sys/dev/systrace.h index 4317bf9bb57..d727bedead7 100644 --- a/sys/dev/systrace.h +++ b/sys/dev/systrace.h @@ -1,4 +1,4 @@ -/* $OpenBSD: systrace.h,v 1.20 2006/10/06 05:47:27 djm Exp $ */ +/* $OpenBSD: systrace.h,v 1.21 2008/11/09 05:13:53 deraadt Exp $ */ /* * Copyright 2002 Niels Provos <provos@citi.umich.edu> * All rights reserved. @@ -222,7 +222,9 @@ struct fsystrace { void systrace_namei(struct nameidata *); int systrace_redirect(int, struct proc *, void *, register_t *); void systrace_exit(struct proc *); -void systrace_fork(struct proc *, struct proc *); +struct str_process *systrace_getproc(void); +void systrace_freeproc(struct str_process *); +void systrace_fork(struct proc *, struct proc *, struct str_process *newstrp); void systrace_execve0(struct proc *); void systrace_execve1(char *, struct proc *); int systrace_scriptname(struct proc *, char *); |