summaryrefslogtreecommitdiff
path: root/sys/compat/linux32/common/linux32_exec.c
diff options
context:
space:
mode:
authorad <ad@NetBSD.org>2007-02-15 15:29:07 +0000
committerad <ad@NetBSD.org>2007-02-15 15:29:07 +0000
commit12460decf90c5580cf796928d03ac8cf984ffc99 (patch)
tree1f3f8d348a653081559d8fc25325a39a12506977 /sys/compat/linux32/common/linux32_exec.c
parent58c53b4195f57ee168dcf37f037114fd51e16274 (diff)
Fix COMPAT_LINUX32.
Diffstat (limited to 'sys/compat/linux32/common/linux32_exec.c')
-rw-r--r--sys/compat/linux32/common/linux32_exec.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/sys/compat/linux32/common/linux32_exec.c b/sys/compat/linux32/common/linux32_exec.c
index 0ecce5f2274..7c623a60727 100644
--- a/sys/compat/linux32/common/linux32_exec.c
+++ b/sys/compat/linux32/common/linux32_exec.c
@@ -1,7 +1,7 @@
-/* $NetBSD: linux32_exec.c,v 1.4 2007/02/09 21:55:21 ad Exp $ */
+/* $NetBSD: linux32_exec.c,v 1.5 2007/02/15 15:29:51 ad Exp $ */
/*-
- * Copyright (c) 1994-2006 The NetBSD Foundation, Inc.
+ * Copyright (c) 1994-2007 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_exec.c,v 1.4 2007/02/09 21:55:21 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_exec.c,v 1.5 2007/02/15 15:29:51 ad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -84,9 +84,8 @@ static void linux32_e_proc_exit __P((struct proc *));
static void linux32_e_proc_init __P((struct proc *, struct proc *, int));
#ifdef LINUX32_NPTL
-void linux32_userret __P((struct lwp *, void *));
-void linux_nptl_proc_fork __P((struct proc *, struct proc *,
- void (luserret)(struct lwp *, void *)));
+void linux32_userret(void);
+void linux_nptl_proc_fork(struct proc *, struct proc *, void (*luserret)(void));
void linux_nptl_proc_exit __P((struct proc *));
void linux_nptl_proc_init __P((struct proc *, struct proc *));
#endif
@@ -265,7 +264,7 @@ linux32_e_proc_fork(p, parent, forkflags)
linux32_e_proc_init(p, parent, forkflags);
#ifdef LINUX32_NPTL
- linux_nptl_proc_fork(p, parent, (*linux32_userret));
+ linux_nptl_proc_fork(p, parent, linux32_userret);
#endif
return;
@@ -273,16 +272,13 @@ linux32_e_proc_fork(p, parent, forkflags)
#ifdef LINUX32_NPTL
void
-linux32_userret(l, arg)
- struct lwp *l;
- void *arg;
+linux32_userret(void)
{
+ struct lwp *l = curlwp;
struct proc *p = l->l_proc;
struct linux_emuldata *led = p->p_emuldata;
int error;
- p->p_userret = NULL;
-
/* LINUX_CLONE_CHILD_SETTID: copy child's TID to child's memory */
if (led->clone_flags & LINUX_CLONE_CHILD_SETTID) {
if ((error = copyout(&l->l_proc->p_pid,