summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2005-01-29 23:47:36 +0000
committersobomax <sobomax@FreeBSD.org>2005-01-29 23:47:36 +0000
commitbc473990f5676e7da50f9edf4fca85fca0948cbd (patch)
tree20d0eae4d1d076df114eba04a0d05515faf1773b /sys/kern/kern_exec.c
parent443b386117626ca30b48fbe3e3deadd09cfd9f5a (diff)
downloadFreeBSD-src-bc473990f5676e7da50f9edf4fca85fca0948cbd.zip
FreeBSD-src-bc473990f5676e7da50f9edf4fca85fca0948cbd.tar.gz
Fix small non-conformance introduced in the previous commit: execve() is
expected to return ENAMETOOLONG, not E2BIG if first argument doesn't fit into {PATH_MAX} bytes. MFC after: 2 weeks
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 3998726..58a9138 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -629,6 +629,8 @@ interpret:
* to locking the proc lock.
*/
textvp = p->p_textvp;
+ if (textvp)
+ VN_KNOTE_LOCKED(textvp, NOTE_STOPEXEC | p->p_pid);
p->p_textvp = ndp->ni_vp;
/*
@@ -636,6 +638,7 @@ interpret:
* as we're now a bona fide freshly-execed process.
*/
KNOTE_LOCKED(&p->p_klist, NOTE_EXEC);
+ VN_KNOTE_LOCKED(p->p_textvp, NOTE_STARTEXEC | p->p_pid);
p->p_flag &= ~P_INEXEC;
/*
@@ -948,11 +951,8 @@ exec_copyin_args(struct image_args *args, char *fname,
error = (segflg == UIO_SYSSPACE) ?
copystr(fname, args->fname, PATH_MAX, &length) :
copyinstr(fname, args->fname, PATH_MAX, &length);
- if (error != 0) {
- if (error == ENAMETOOLONG)
- return (E2BIG);
+ if (error != 0)
return (error);
- }
/*
* extract arguments first
OpenPOWER on IntegriCloud