diff options
author | sobomax <sobomax@FreeBSD.org> | 2005-01-29 23:12:00 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2005-01-29 23:12:00 +0000 |
commit | f489acaf0f5bae70444702cdcc02ab81d3b6b51a (patch) | |
tree | c697d47092272c8c6973b42ba0a424e9763f7ce5 /sys/i386/ibcs2 | |
parent | 1c7b5012657233c6ea65df68e8223e60b6f822a0 (diff) | |
download | FreeBSD-src-f489acaf0f5bae70444702cdcc02ab81d3b6b51a.zip FreeBSD-src-f489acaf0f5bae70444702cdcc02ab81d3b6b51a.tar.gz |
o Split out kernel part of execve(2) syscall into two parts: one that
copies arguments into the kernel space and one that operates
completely in the kernel space;
o use kernel-only version of execve(2) to kill another stackgap in
linuxlator/i386.
Obtained from: DragonFlyBSD (partially)
MFC after: 2 weeks
Diffstat (limited to 'sys/i386/ibcs2')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_sysvec.c | 2 | ||||
-rw-r--r-- | sys/i386/ibcs2/imgact_coff.c | 5 |
2 files changed, 1 insertions, 6 deletions
diff --git a/sys/i386/ibcs2/ibcs2_sysvec.c b/sys/i386/ibcs2/ibcs2_sysvec.c index 6a4dacc..74be782 100644 --- a/sys/i386/ibcs2/ibcs2_sysvec.c +++ b/sys/i386/ibcs2/ibcs2_sysvec.c @@ -91,7 +91,7 @@ static int ibcs2_fixup(register_t **stack_base, struct image_params *imgp) { - return (suword(--(*stack_base), imgp->argc)); + return (suword(--(*stack_base), imgp->args->argc)); } /* diff --git a/sys/i386/ibcs2/imgact_coff.c b/sys/i386/ibcs2/imgact_coff.c index 6470813..226d1e9 100644 --- a/sys/i386/ibcs2/imgact_coff.c +++ b/sys/i386/ibcs2/imgact_coff.c @@ -332,11 +332,6 @@ exec_coff_imgact(imgp) VOP_UNLOCK(imgp->vp, 0, td); - if ((error = exec_extract_strings(imgp)) != 0) { - DPRINTF(("%s(%d): return %d\n", __FILE__, __LINE__, error)); - goto fail; - } - exec_new_vmspace(imgp, &ibcs2_svr3_sysvec); vmspace = imgp->proc->p_vmspace; |