diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2002-02-27 18:32:23 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2002-02-27 18:32:23 +0000 |
| commit | a854ed98931b2e365eddd24cd2a1bb53a3f1828f (patch) | |
| tree | de74317436bc6bf8211535e1dbda3f6762d05582 /sys/kern/kern_exec.c | |
| parent | 65e3406d28b159fab93b499d25ed079b2c978ff7 (diff) | |
Notes
Diffstat (limited to 'sys/kern/kern_exec.c')
| -rw-r--r-- | sys/kern/kern_exec.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 3a1b56cbb1e6..6905adfc0e36 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -837,10 +837,12 @@ exec_check_permissions(imgp) struct proc *p = imgp->proc; struct vnode *vp = imgp->vp; struct vattr *attr = imgp->attr; + struct thread *td; int error; + td = curthread; /* XXXKSE */ /* Get file attributes */ - error = VOP_GETATTR(vp, attr, p->p_ucred, curthread); /* XXXKSE */ + error = VOP_GETATTR(vp, attr, td->td_ucred, td); if (error) return (error); @@ -854,9 +856,8 @@ exec_check_permissions(imgp) */ if ((vp->v_mount->mnt_flag & MNT_NOEXEC) || ((attr->va_mode & 0111) == 0) || - (attr->va_type != VREG)) { + (attr->va_type != VREG)) return (EACCES); - } /* * Zero length files can't be exec'd @@ -867,7 +868,7 @@ exec_check_permissions(imgp) /* * Check for execute permission to file based on current credentials. */ - error = VOP_ACCESS(vp, VEXEC, p->p_ucred, curthread); /* XXXKSE */ + error = VOP_ACCESS(vp, VEXEC, td->td_ucred, td); if (error) return (error); @@ -882,11 +883,8 @@ exec_check_permissions(imgp) * Call filesystem specific open routine (which does nothing in the * general case). */ - error = VOP_OPEN(vp, FREAD, p->p_ucred, curthread); /* XXXKSE */ - if (error) - return (error); - - return (0); + error = VOP_OPEN(vp, FREAD, td->td_ucred, td); + return (error); } /* |
