diff options
| author | Alexander Leidinger <netchild@FreeBSD.org> | 2006-10-08 17:10:34 +0000 |
|---|---|---|
| committer | Alexander Leidinger <netchild@FreeBSD.org> | 2006-10-08 17:10:34 +0000 |
| commit | 28638377addb7b0278fbc174d3d7ff69334bf97b (patch) | |
| tree | cb5626630596daf7c5a34248791e0b7dace70d07 /sys | |
| parent | 7660ace19cc0f9f59c7aaf910704cd6092e59dbb (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/compat/linux/linux_emul.c | 7 |
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; |
