aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlexander Leidinger <netchild@FreeBSD.org>2006-10-08 17:10:34 +0000
committerAlexander Leidinger <netchild@FreeBSD.org>2006-10-08 17:10:34 +0000
commit28638377addb7b0278fbc174d3d7ff69334bf97b (patch)
treecb5626630596daf7c5a34248791e0b7dace70d07 /sys
parent7660ace19cc0f9f59c7aaf910704cd6092e59dbb (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/linux/linux_emul.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/compat/linux/linux_emul.c b/sys/compat/linux/linux_emul.c
index c1dafbc1c55f..2f92ebda8c03 100644
--- a/sys/compat/linux/linux_emul.c
+++ b/sys/compat/linux/linux_emul.c
@@ -97,8 +97,7 @@ linux_proc_init(struct thread *td, pid_t child, int flags)
LIST_INIT(&s->threads);
}
p = pfind(child);
- if (p == NULL)
- panic("process not found in proc_init\n");
+ KASSERT(p != NULL, ("process not found in proc_init\n"));
p->p_emuldata = em;
PROC_UNLOCK(p);
EMUL_LOCK(&emul_lock);
@@ -182,8 +181,10 @@ linux_proc_exit(void *arg __unused, struct proc *p)
int null = 0;
error = copyout(&null, child_clear_tid, sizeof(null));
- if (error)
+ if (error) {
+ free(em, M_LINUX);
return;
+ }
/* futexes stuff */
cup.uaddr = child_clear_tid;