summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2009-02-26 16:32:48 +0000
committered <ed@FreeBSD.org>2009-02-26 16:32:48 +0000
commit9d9e2a90b2bd1b0edc87bc133db978d6474fe510 (patch)
treea1d45367a3bc529c181bdc1622b845da1dce7560 /sys
parentb3ddcfe1f75495bb47bf5eaba6333e4822eadae7 (diff)
downloadFreeBSD-src-9d9e2a90b2bd1b0edc87bc133db978d6474fe510.zip
FreeBSD-src-9d9e2a90b2bd1b0edc87bc133db978d6474fe510.tar.gz
Remove unneeded pointer `ndp'.
Inside do_execve(), we have a pointer `ndp', which always points to `&nd'. I can imagine a primitive (non-optimizing) compiler to really reserve space for such a pointer, so just remove the variable and use `&nd' directly.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_exec.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 36a9fc8..af6c9e4 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -318,7 +318,7 @@ do_execve(td, args, mac_p)
struct mac *mac_p;
{
struct proc *p = td->td_proc;
- struct nameidata nd, *ndp;
+ struct nameidata nd;
struct ucred *newcred = NULL, *oldcred;
struct uidinfo *euip;
register_t *stack_base;
@@ -396,8 +396,7 @@ do_execve(td, args, mac_p)
* interpreter if this is an interpreted binary.
*/
if (args->fname != NULL) {
- ndp = &nd;
- NDINIT(ndp, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME
+ NDINIT(&nd, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME
| MPSAFE | AUDITVNODE1, UIO_SYSSPACE, args->fname, td);
}
@@ -405,12 +404,12 @@ do_execve(td, args, mac_p)
interpret:
if (args->fname != NULL) {
- error = namei(ndp);
+ error = namei(&nd);
if (error)
goto exec_fail;
- vfslocked = NDHASGIANT(ndp);
- binvp = ndp->ni_vp;
+ vfslocked = NDHASGIANT(&nd);
+ binvp = nd.ni_vp;
imgp->vp = binvp;
} else {
AUDIT_ARG(fd, args->fd);
@@ -495,7 +494,7 @@ interpret:
imgp->vp->v_vflag &= ~VV_TEXT;
/* free name buffer and old vnode */
if (args->fname != NULL)
- NDFREE(ndp, NDF_ONLY_PNBUF);
+ NDFREE(&nd, NDF_ONLY_PNBUF);
#ifdef MAC
mac_execve_interpreter_enter(binvp, &interpvplabel);
#endif
@@ -509,7 +508,7 @@ interpret:
VFS_UNLOCK_GIANT(vfslocked);
vfslocked = 0;
/* set new name to that of the interpreter */
- NDINIT(ndp, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME | MPSAFE,
+ NDINIT(&nd, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME | MPSAFE,
UIO_SYSSPACE, imgp->interpreter_name, td);
args->fname = imgp->interpreter_name;
goto interpret;
@@ -588,8 +587,8 @@ interpret:
/* name this process - nameiexec(p, ndp) */
if (args->fname) {
- len = min(ndp->ni_cnd.cn_namelen,MAXCOMLEN);
- bcopy(ndp->ni_cnd.cn_nameptr, p->p_comm, len);
+ len = min(nd.ni_cnd.cn_namelen,MAXCOMLEN);
+ bcopy(nd.ni_cnd.cn_nameptr, p->p_comm, len);
} else {
if (vn_commname(binvp, p->p_comm, MAXCOMLEN + 1) == 0)
len = MAXCOMLEN;
@@ -851,7 +850,7 @@ exec_fail_dealloc:
if (imgp->vp != NULL) {
if (args->fname)
- NDFREE(ndp, NDF_ONLY_PNBUF);
+ NDFREE(&nd, NDF_ONLY_PNBUF);
if (imgp->opened)
VOP_CLOSE(imgp->vp, FREAD, td->td_ucred, td);
vput(imgp->vp);
OpenPOWER on IntegriCloud