Style fixes.

This commit is contained in:
Pawel Jakub Dawidek 2013-09-05 00:19:30 +00:00
parent 547561f1b0
commit a686a7be03
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=255222

View File

@ -181,8 +181,8 @@ sys_quotactl(td, uap)
} */ *uap;
{
struct mount *mp;
int error;
struct nameidata nd;
int error;
AUDIT_ARG_CMD(uap->cmd);
AUDIT_ARG_UID(uap->uid);
@ -198,7 +198,7 @@ sys_quotactl(td, uap)
vput(nd.ni_vp);
error = vfs_busy(mp, 0);
vfs_rel(mp);
if (error)
if (error != 0)
return (error);
error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg);
@ -291,13 +291,13 @@ kern_statfs(struct thread *td, char *path, enum uio_seg pathseg,
{
struct mount *mp;
struct statfs *sp, sb;
int error;
struct nameidata nd;
int error;
NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
pathseg, path, td);
error = namei(&nd);
if (error)
if (error != 0)
return (error);
mp = nd.ni_vp->v_mount;
vfs_ref(mp);
@ -305,11 +305,11 @@ kern_statfs(struct thread *td, char *path, enum uio_seg pathseg,
vput(nd.ni_vp);
error = vfs_busy(mp, 0);
vfs_rel(mp);
if (error)
if (error != 0)
return (error);
#ifdef MAC
error = mac_mount_check_stat(td->td_ucred, mp);
if (error)
if (error != 0)
goto out;
#endif
/*
@ -320,7 +320,7 @@ kern_statfs(struct thread *td, char *path, enum uio_seg pathseg,
sp->f_namemax = NAME_MAX;
sp->f_flags = mp->mnt_flag & MNT_VISFLAGMASK;
error = VFS_STATFS(mp, sp);
if (error)
if (error != 0)
goto out;
if (priv_check(td, PRIV_VFS_GENERATION)) {
bcopy(sp, &sb, sizeof(sb));
@ -373,7 +373,7 @@ kern_fstatfs(struct thread *td, int fd, struct statfs *buf)
AUDIT_ARG_FD(fd);
error = getvnode(td->td_proc->p_fd, fd,
cap_rights_init(&rights, CAP_FSTATFS), &fp);
if (error)
if (error != 0)
return (error);
vp = fp->f_vnode;
vn_lock(vp, LK_SHARED | LK_RETRY);
@ -391,11 +391,11 @@ kern_fstatfs(struct thread *td, int fd, struct statfs *buf)
}
error = vfs_busy(mp, 0);
vfs_rel(mp);
if (error)
if (error != 0)
return (error);
#ifdef MAC
error = mac_mount_check_stat(td->td_ucred, mp);
if (error)
if (error != 0)
goto out;
#endif
/*
@ -406,7 +406,7 @@ kern_fstatfs(struct thread *td, int fd, struct statfs *buf)
sp->f_namemax = NAME_MAX;
sp->f_flags = mp->mnt_flag & MNT_VISFLAGMASK;
error = VFS_STATFS(mp, sp);
if (error)
if (error != 0)
goto out;
if (priv_check(td, PRIV_VFS_GENERATION)) {
bcopy(sp, &sb, sizeof(sb));
@ -525,7 +525,7 @@ kern_getfsstat(struct thread *td, struct statfs **buf, size_t bufsize,
bcopy(sp, sfsp, sizeof(*sp));
else /* if (bufseg == UIO_USERSPACE) */ {
error = copyout(sp, sfsp, sizeof(*sp));
if (error) {
if (error != 0) {
vfs_unbusy(mp);
return (error);
}
@ -570,7 +570,7 @@ freebsd4_statfs(td, uap)
int error;
error = kern_statfs(td, uap->path, UIO_USERSPACE, &sf);
if (error)
if (error != 0)
return (error);
cvtstatfs(&sf, &osb);
return (copyout(&osb, uap->buf, sizeof(osb)));
@ -598,7 +598,7 @@ freebsd4_fstatfs(td, uap)
int error;
error = kern_fstatfs(td, uap->fd, &sf);
if (error)
if (error != 0)
return (error);
cvtstatfs(&sf, &osb);
return (copyout(&osb, uap->buf, sizeof(osb)));
@ -669,10 +669,10 @@ freebsd4_fhstatfs(td, uap)
int error;
error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t));
if (error)
if (error != 0)
return (error);
error = kern_fhstatfs(td, fh, &sf);
if (error)
if (error != 0)
return (error);
cvtstatfs(&sf, &osb);
return (copyout(&osb, uap->buf, sizeof(osb)));
@ -751,12 +751,12 @@ sys_fchdir(td, uap)
continue;
error = VFS_ROOT(mp, LK_SHARED, &tdp);
vfs_unbusy(mp);
if (error)
if (error != 0)
break;
vput(vp);
vp = tdp;
}
if (error) {
if (error != 0) {
vput(vp);
return (error);
}
@ -792,9 +792,9 @@ int
kern_chdir(struct thread *td, char *path, enum uio_seg pathseg)
{
register struct filedesc *fdp = td->td_proc->p_fd;
int error;
struct nameidata nd;
struct vnode *vp;
int error;
NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
pathseg, path, td);
@ -871,21 +871,23 @@ sys_chroot(td, uap)
char *path;
} */ *uap;
{
int error;
struct nameidata nd;
int error;
error = priv_check(td, PRIV_VFS_CHROOT);
if (error)
if (error != 0)
return (error);
NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
UIO_USERSPACE, uap->path, td);
error = namei(&nd);
if (error)
if (error != 0)
goto error;
if ((error = change_dir(nd.ni_vp, td)) != 0)
error = change_dir(nd.ni_vp, td);
if (error != 0)
goto e_vunlock;
#ifdef MAC
if ((error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp)))
error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp);
if (error != 0)
goto e_vunlock;
#endif
VOP_UNLOCK(nd.ni_vp, 0);
@ -909,18 +911,19 @@ change_dir(vp, td)
struct vnode *vp;
struct thread *td;
{
#ifdef MAC
int error;
#endif
ASSERT_VOP_LOCKED(vp, "change_dir(): vp not locked");
if (vp->v_type != VDIR)
return (ENOTDIR);
#ifdef MAC
error = mac_vnode_check_chdir(td->td_ucred, vp);
if (error)
if (error == 0)
return (error);
#endif
error = VOP_ACCESS(vp, VEXEC, td->td_ucred, td);
return (error);
return (VOP_ACCESS(vp, VEXEC, td->td_ucred, td));
}
/*
@ -942,7 +945,7 @@ change_root(vp, td)
if (chroot_allow_open_directories == 0 ||
(chroot_allow_open_directories == 1 && fdp->fd_rdir != rootvnode)) {
error = chroot_refuse_vdir_fds(fdp);
if (error) {
if (error != 0) {
FILEDESC_XUNLOCK(fdp);
return (error);
}
@ -1050,10 +1053,11 @@ kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
struct filedesc *fdp = p->p_fd;
struct file *fp;
struct vnode *vp;
int cmode;
int indx = -1, error;
struct nameidata nd;
cap_rights_t rights;
int cmode, error, indx;
indx = -1;
AUDIT_ARG_FFLAGS(flags);
AUDIT_ARG_MODE(mode);
@ -1077,7 +1081,7 @@ kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
* Allocate the file descriptor, but don't install a descriptor yet.
*/
error = falloc_noinstall(td, &fp);
if (error)
if (error != 0)
return (error);
/*
* An extra reference on `fp' has been held for us by
@ -1085,12 +1089,12 @@ kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
*/
/* Set the flags early so the finit in devfs can pick them up. */
fp->f_flag = flags & FMASK;
cmode = ((mode &~ fdp->fd_cmask) & ALLPERMS) &~ S_ISTXT;
cmode = ((mode & ~fdp->fd_cmask) & ALLPERMS) & ~S_ISTXT;
NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | AUDITVNODE1, pathseg, path, fd,
&rights, td);
td->td_dupfd = -1; /* XXX check for fdopen */
error = vn_open(&nd, &flags, cmode, fp);
if (error) {
if (error != 0) {
/*
* If the vn_open replaced the method vector, something
* wonderous happened deep below and we just pass it up
@ -1134,14 +1138,14 @@ kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
if (fp->f_ops == &badfileops) {
KASSERT(vp->v_type != VFIFO, ("Unexpected fifo."));
fp->f_seqcount = 1;
finit(fp, (flags & FMASK) | (fp->f_flag & FHASLOCK), DTYPE_VNODE,
vp, &vnops);
finit(fp, (flags & FMASK) | (fp->f_flag & FHASLOCK),
DTYPE_VNODE, vp, &vnops);
}
VOP_UNLOCK(vp, 0);
if (flags & O_TRUNC) {
error = fo_truncate(fp, 0, td->td_ucred, td);
if (error)
if (error != 0)
goto bad;
}
success:
@ -1258,10 +1262,9 @@ kern_mknodat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
struct vnode *vp;
struct mount *mp;
struct vattr vattr;
int error;
int whiteout = 0;
struct nameidata nd;
cap_rights_t rights;
int error, whiteout = 0;
AUDIT_ARG_MODE(mode);
AUDIT_ARG_DEV(dev);
@ -1284,7 +1287,7 @@ kern_mknodat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
error = EINVAL;
break;
}
if (error)
if (error != 0)
return (error);
restart:
bwillwrite();
@ -1337,7 +1340,7 @@ kern_mknodat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp,
&nd.ni_cnd, &vattr);
#endif
if (!error) {
if (error == 0) {
if (whiteout)
error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE);
else {
@ -1402,9 +1405,9 @@ kern_mkfifoat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
{
struct mount *mp;
struct vattr vattr;
struct nameidata nd;
cap_rights_t rights;
int error;
struct nameidata nd;
AUDIT_ARG_MODE(mode);
restart:
@ -1435,7 +1438,7 @@ kern_mkfifoat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
#ifdef MAC
error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
&vattr);
if (error)
if (error != 0)
goto out;
#endif
error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr);
@ -1519,13 +1522,13 @@ can_hardlink(struct vnode *vp, struct ucred *cred)
if (hardlink_check_uid && cred->cr_uid != va.va_uid) {
error = priv_check_cred(cred, PRIV_VFS_LINK, 0);
if (error)
if (error != 0)
return (error);
}
if (hardlink_check_gid && !groupmember(va.va_gid, cred)) {
error = priv_check_cred(cred, PRIV_VFS_LINK, 0);
if (error)
if (error != 0)
return (error);
}
@ -1644,8 +1647,8 @@ kern_symlinkat(struct thread *td, char *path1, int fd, char *path2,
struct mount *mp;
struct vattr vattr;
char *syspath;
int error;
struct nameidata nd;
int error;
cap_rights_t rights;
if (segflg == UIO_SYSSPACE) {
@ -1685,7 +1688,7 @@ kern_symlinkat(struct thread *td, char *path1, int fd, char *path2,
vattr.va_type = VLNK;
error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
&vattr);
if (error)
if (error != 0)
goto out2;
#endif
error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath);
@ -1713,16 +1716,16 @@ sys_undelete(td, uap)
char *path;
} */ *uap;
{
int error;
struct mount *mp;
struct nameidata nd;
int error;
restart:
bwillwrite();
NDINIT(&nd, DELETE, LOCKPARENT | DOWHITEOUT | AUDITVNODE1,
UIO_USERSPACE, uap->path, td);
error = namei(&nd);
if (error)
if (error != 0)
return (error);
if (nd.ni_vp != NULLVP || !(nd.ni_cnd.cn_flags & ISWHITEOUT)) {
@ -1804,10 +1807,10 @@ kern_unlinkat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
{
struct mount *mp;
struct vnode *vp;
int error;
struct nameidata nd;
struct stat sb;
cap_rights_t rights;
int error;
restart:
bwillwrite();
@ -1847,7 +1850,7 @@ kern_unlinkat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
#ifdef MAC
error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp,
&nd.ni_cnd);
if (error)
if (error != 0)
goto out;
#endif
vfs_notify_upper(vp, VFS_NOTIFY_UPPER_UNLINK);
@ -1959,8 +1962,8 @@ vn_access(vp, user_flags, cred, td)
struct ucred *cred;
struct thread *td;
{
int error;
accmode_t accmode;
int error;
/* Flags == 0 means only check for existence. */
error = 0;
@ -1974,7 +1977,7 @@ vn_access(vp, user_flags, cred, td)
accmode |= VEXEC;
#ifdef MAC
error = mac_vnode_check_access(cred, vp, accmode);
if (error)
if (error != 0)
return (error);
#endif
if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0)
@ -2121,11 +2124,10 @@ ostat(td, uap)
int error;
error = kern_stat(td, uap->path, UIO_USERSPACE, &sb);
if (error)
if (error != 0)
return (error);
cvtstat(&sb, &osb);
error = copyout(&osb, uap->ub, sizeof (osb));
return (error);
return (copyout(&osb, uap->ub, sizeof (osb)));
}
/*
@ -2150,11 +2152,10 @@ olstat(td, uap)
int error;
error = kern_lstat(td, uap->path, UIO_USERSPACE, &sb);
if (error)
if (error != 0)
return (error);
cvtstat(&sb, &osb);
error = copyout(&osb, uap->ub, sizeof (osb));
return (error);
return (copyout(&osb, uap->ub, sizeof (osb)));
}
/*
@ -2269,7 +2270,7 @@ kern_statat_vnhook(struct thread *td, int flag, int fd, char *path,
if ((error = namei(&nd)) != 0)
return (error);
error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td);
if (!error) {
if (error == 0) {
SDT_PROBE(vfs, , stat, mode, path, sb.st_mode, 0, 0, 0);
if (S_ISREG(sb.st_mode))
SDT_PROBE(vfs, , stat, reg, path, pathseg, 0, 0, 0);
@ -2278,7 +2279,7 @@ kern_statat_vnhook(struct thread *td, int flag, int fd, char *path,
}
NDFREE(&nd, NDF_ONLY_PNBUF);
vput(nd.ni_vp);
if (error)
if (error != 0)
return (error);
*sbp = sb;
#ifdef KTRACE
@ -2330,6 +2331,7 @@ cvtnstat(sb, nsb)
struct stat *sb;
struct nstat *nsb;
{
bzero(nsb, sizeof *nsb);
nsb->st_dev = sb->st_dev;
nsb->st_ino = sb->st_ino;
@ -2368,11 +2370,10 @@ sys_nstat(td, uap)
int error;
error = kern_stat(td, uap->path, UIO_USERSPACE, &sb);
if (error)
if (error != 0)
return (error);
cvtnstat(&sb, &nsb);
error = copyout(&nsb, uap->ub, sizeof (nsb));
return (error);
return (copyout(&nsb, uap->ub, sizeof (nsb)));
}
/*
@ -2397,11 +2398,10 @@ sys_nlstat(td, uap)
int error;
error = kern_lstat(td, uap->path, UIO_USERSPACE, &sb);
if (error)
if (error != 0)
return (error);
cvtnstat(&sb, &nsb);
error = copyout(&nsb, uap->ub, sizeof (nsb));
return (error);
return (copyout(&nsb, uap->ub, sizeof (nsb)));
}
/*
@ -2521,8 +2521,8 @@ kern_readlinkat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
struct vnode *vp;
struct iovec aiov;
struct uio auio;
int error;
struct nameidata nd;
int error;
if (count > IOSIZE_MAX)
return (EINVAL);
@ -2536,7 +2536,7 @@ kern_readlinkat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
vp = nd.ni_vp;
#ifdef MAC
error = mac_vnode_check_readlink(td->td_ucred, vp);
if (error) {
if (error != 0) {
vput(vp);
return (error);
}
@ -2569,9 +2569,9 @@ setfflags(td, vp, flags)
struct vnode *vp;
u_long flags;
{
int error;
struct mount *mp;
struct vattr vattr;
int error;
/* We can't support the value matching VNOVAL. */
if (flags == VNOVAL)
@ -2585,7 +2585,7 @@ setfflags(td, vp, flags)
*/
if (vp->v_type == VCHR || vp->v_type == VBLK) {
error = priv_check(td, PRIV_VFS_CHFLAGS_DEV);
if (error)
if (error != 0)
return (error);
}
@ -2738,9 +2738,9 @@ setfmode(td, cred, vp, mode)
struct vnode *vp;
int mode;
{
int error;
struct mount *mp;
struct vattr vattr;
int error;
if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
return (error);
@ -2833,10 +2833,9 @@ int
kern_fchmodat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
mode_t mode, int flag)
{
int error;
struct nameidata nd;
int follow;
cap_rights_t rights;
int error, follow;
AUDIT_ARG_MODE(mode);
follow = (flag & AT_SYMLINK_NOFOLLOW) ? NOFOLLOW : FOLLOW;
@ -2888,9 +2887,9 @@ setfown(td, cred, vp, uid, gid)
uid_t uid;
gid_t gid;
{
int error;
struct mount *mp;
struct vattr vattr;
int error;
if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
return (error);
@ -3093,9 +3092,9 @@ setutimes(td, vp, ts, numtimes, nullflag)
int numtimes;
int nullflag;
{
int error, setbirthtime;
struct mount *mp;
struct vattr vattr;
int error, setbirthtime;
if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
return (error);
@ -3218,8 +3217,8 @@ kern_lutimes(struct thread *td, char *path, enum uio_seg pathseg,
struct timeval *tptr, enum uio_seg tptrseg)
{
struct timespec ts[2];
int error;
struct nameidata nd;
int error;
if ((error = getutimes(tptr, tptrseg, ts)) != 0)
return (error);
@ -3263,7 +3262,8 @@ kern_futimes(struct thread *td, int fd, struct timeval *tptr,
int error;
AUDIT_ARG_FD(fd);
if ((error = getutimes(tptr, tptrseg, ts)) != 0)
error = getutimes(tptr, tptrseg, ts);
if (error != 0)
return (error);
error = getvnode(td->td_proc->p_fd, fd,
cap_rights_init(&rights, CAP_FUTIMES), &fp);
@ -3423,7 +3423,8 @@ sys_fsync(td, uap)
if (error != 0)
return (error);
vp = fp->f_vnode;
if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
error = vn_start_write(vp, &mp, V_WAIT | PCATCH);
if (error != 0)
goto drop;
if (MNT_SHARED_WRITES(mp) ||
((mp == NULL) && MNT_SHARED_WRITES(vp->v_mount))) {
@ -3584,15 +3585,15 @@ kern_renameat(struct thread *td, int oldfd, char *old, int newfd, char *new,
tond.ni_vp, fromnd.ni_dvp == tdvp, &tond.ni_cnd);
#endif
out:
if (!error) {
if (error == 0) {
error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd,
tond.ni_dvp, tond.ni_vp, &tond.ni_cnd);
tond.ni_dvp, tond.ni_vp, &tond.ni_cnd);
NDFREE(&fromnd, NDF_ONLY_PNBUF);
NDFREE(&tond, NDF_ONLY_PNBUF);
} else {
NDFREE(&fromnd, NDF_ONLY_PNBUF);
NDFREE(&tond, NDF_ONLY_PNBUF);
if (tvp)
if (tvp != NULL)
vput(tvp);
if (tdvp == tvp)
vrele(tdvp);
@ -3660,9 +3661,9 @@ kern_mkdirat(struct thread *td, int fd, char *path, enum uio_seg segflg,
struct mount *mp;
struct vnode *vp;
struct vattr vattr;
struct nameidata nd;
cap_rights_t rights;
int error;
struct nameidata nd;
AUDIT_ARG_MODE(mode);
restart:
@ -3700,7 +3701,7 @@ kern_mkdirat(struct thread *td, int fd, char *path, enum uio_seg segflg,
#ifdef MAC
error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
&vattr);
if (error)
if (error != 0)
goto out;
#endif
error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr);
@ -3709,7 +3710,7 @@ kern_mkdirat(struct thread *td, int fd, char *path, enum uio_seg segflg,
#endif
NDFREE(&nd, NDF_ONLY_PNBUF);
vput(nd.ni_dvp);
if (!error)
if (error == 0)
vput(nd.ni_vp);
vn_finished_write(mp);
return (error);
@ -3746,9 +3747,9 @@ kern_rmdirat(struct thread *td, int fd, char *path, enum uio_seg pathseg)
{
struct mount *mp;
struct vnode *vp;
struct nameidata nd;
cap_rights_t rights;
int error;
struct nameidata nd;
restart:
bwillwrite();
@ -3778,7 +3779,7 @@ kern_rmdirat(struct thread *td, int fd, char *path, enum uio_seg pathseg)
#ifdef MAC
error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp,
&nd.ni_cnd);
if (error)
if (error != 0)
goto out;
#endif
if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
@ -3875,7 +3876,7 @@ kern_ogetdirentries(struct thread *td, struct ogetdirentries_args *uap,
loff = auio.uio_offset = foffset;
#ifdef MAC
error = mac_vnode_check_readdir(td->td_ucred, vp);
if (error) {
if (error != 0) {
VOP_UNLOCK(vp, 0);
foffset_unlock(fp, foffset, FOF_NOUPDATE);
fdrop(fp, td);
@ -3933,7 +3934,7 @@ kern_ogetdirentries(struct thread *td, struct ogetdirentries_args *uap,
}
free(dirbuf, M_TEMP);
}
if (error) {
if (error != 0) {
VOP_UNLOCK(vp, 0);
foffset_unlock(fp, foffset, 0);
fdrop(fp, td);
@ -3987,7 +3988,7 @@ sys_getdirentries(td, uap)
error = kern_getdirentries(td, uap->fd, uap->buf, uap->count, &base,
NULL, UIO_USERSPACE);
if (error)
if (error != 0)
return (error);
if (uap->basep != NULL)
error = copyout(&base, uap->basep, sizeof(long));
@ -4043,7 +4044,7 @@ kern_getdirentries(struct thread *td, int fd, char *buf, u_int count,
error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL,
NULL);
foffset = auio.uio_offset;
if (error) {
if (error != 0) {
VOP_UNLOCK(vp, 0);
goto fail;
}
@ -4051,6 +4052,7 @@ kern_getdirentries(struct thread *td, int fd, char *buf, u_int count,
(vp->v_vflag & VV_ROOT) &&
(vp->v_mount->mnt_flag & MNT_UNION)) {
struct vnode *tvp = vp;
vp = vp->v_mount->mnt_vnodecovered;
VREF(vp);
fp->f_vnode = vp;
@ -4087,6 +4089,7 @@ sys_getdents(td, uap)
} */ *uap;
{
struct getdirentries_args ap;
ap.fd = uap->fd;
ap.buf = uap->buf;
ap.count = uap->count;
@ -4137,8 +4140,8 @@ sys_revoke(td, uap)
{
struct vnode *vp;
struct vattr vattr;
int error;
struct nameidata nd;
int error;
NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE,
uap->path, td);
@ -4152,15 +4155,15 @@ sys_revoke(td, uap)
}
#ifdef MAC
error = mac_vnode_check_revoke(td->td_ucred, vp);
if (error)
if (error != 0)
goto out;
#endif
error = VOP_GETATTR(vp, &vattr, td->td_ucred);
if (error)
if (error != 0)
goto out;
if (td->td_ucred->cr_uid != vattr.va_uid) {
error = priv_check(td, PRIV_VFS_ADMIN);
if (error)
if (error != 0)
goto out;
}
if (vcount(vp) > 1)
@ -4226,12 +4229,12 @@ sys_lgetfh(td, uap)
int error;
error = priv_check(td, PRIV_VFS_GETFH);
if (error)
if (error != 0)
return (error);
NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE,
uap->fname, td);
error = namei(&nd);
if (error)
if (error != 0)
return (error);
NDFREE(&nd, NDF_ONLY_PNBUF);
vp = nd.ni_vp;
@ -4239,9 +4242,8 @@ sys_lgetfh(td, uap)
fh.fh_fsid = vp->v_mount->mnt_stat.f_fsid;
error = VOP_VPTOFH(vp, &fh.fh_fid);
vput(vp);
if (error)
return (error);
error = copyout(&fh, uap->fhp, sizeof (fh));
if (error == 0)
error = copyout(&fh, uap->fhp, sizeof (fh));
return (error);
}
@ -4262,12 +4264,12 @@ sys_getfh(td, uap)
int error;
error = priv_check(td, PRIV_VFS_GETFH);
if (error)
if (error != 0)
return (error);
NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE,
uap->fname, td);
error = namei(&nd);
if (error)
if (error != 0)
return (error);
NDFREE(&nd, NDF_ONLY_PNBUF);
vp = nd.ni_vp;
@ -4275,9 +4277,8 @@ sys_getfh(td, uap)
fh.fh_fsid = vp->v_mount->mnt_stat.f_fsid;
error = VOP_VPTOFH(vp, &fh.fh_fid);
vput(vp);
if (error)
return (error);
error = copyout(&fh, uap->fhp, sizeof (fh));
if (error == 0)
error = copyout(&fh, uap->fhp, sizeof (fh));
return (error);
}
@ -4310,7 +4311,7 @@ sys_fhopen(td, uap)
int indx;
error = priv_check(td, PRIV_VFS_FHOPEN);
if (error)
if (error != 0)
return (error);
indx = -1;
fmode = FFLAGS(uap->flags);
@ -4318,7 +4319,7 @@ sys_fhopen(td, uap)
if (((fmode & (FREAD | FWRITE)) == 0) || (fmode & O_CREAT))
return (EINVAL);
error = copyin(uap->u_fhp, &fhp, sizeof(fhp));
if (error)
if (error != 0)
return(error);
/* find the mount point */
mp = vfs_busyfs(&fhp.fh_fsid);
@ -4327,11 +4328,11 @@ sys_fhopen(td, uap)
/* now give me my vnode, it gets returned to me locked */
error = VFS_FHTOVP(mp, &fhp.fh_fid, LK_EXCLUSIVE, &vp);
vfs_unbusy(mp);
if (error)
if (error != 0)
return (error);
error = falloc_noinstall(td, &fp);
if (error) {
if (error != 0) {
vput(vp);
return (error);
}
@ -4344,7 +4345,7 @@ sys_fhopen(td, uap)
td->td_dupfd = -1;
#endif
error = vn_open_vnode(vp, fmode, td->td_ucred, td, fp);
if (error) {
if (error != 0) {
KASSERT(fp->f_ops == &badfileops,
("VOP_OPEN in fhopen() set f_ops"));
KASSERT(td->td_dupfd < 0,
@ -4361,9 +4362,9 @@ sys_fhopen(td, uap)
finit(fp, (fmode & FMASK) | (fp->f_flag & FHASLOCK), DTYPE_VNODE, vp,
&vnops);
VOP_UNLOCK(vp, 0);
if (fmode & O_TRUNC) {
if ((fmode & O_TRUNC) != 0) {
error = fo_truncate(fp, 0, td->td_ucred, td);
if (error)
if (error != 0)
goto bad;
}
@ -4399,9 +4400,8 @@ sys_fhstat(td, uap)
if (error != 0)
return (error);
error = kern_fhstat(td, fh, &sb);
if (error != 0)
return (error);
error = copyout(&sb, uap->sb, sizeof(sb));
if (error == 0)
error = copyout(&sb, uap->sb, sizeof(sb));
return (error);
}
@ -4413,13 +4413,13 @@ kern_fhstat(struct thread *td, struct fhandle fh, struct stat *sb)
int error;
error = priv_check(td, PRIV_VFS_FHSTAT);
if (error)
if (error != 0)
return (error);
if ((mp = vfs_busyfs(&fh.fh_fsid)) == NULL)
return (ESTALE);
error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp);
vfs_unbusy(mp);
if (error)
if (error != 0)
return (error);
error = vn_stat(vp, sb, td->td_ucred, NOCRED, td);
vput(vp);
@ -4448,10 +4448,10 @@ sys_fhstatfs(td, uap)
int error;
error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t));
if (error)
if (error != 0)
return (error);
error = kern_fhstatfs(td, fh, &sf);
if (error)
if (error != 0)
return (error);
return (copyout(&sf, uap->buf, sizeof(sf)));
}
@ -4465,22 +4465,22 @@ kern_fhstatfs(struct thread *td, fhandle_t fh, struct statfs *buf)
int error;
error = priv_check(td, PRIV_VFS_FHSTATFS);
if (error)
if (error != 0)
return (error);
if ((mp = vfs_busyfs(&fh.fh_fsid)) == NULL)
return (ESTALE);
error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp);
if (error) {
if (error != 0) {
vfs_unbusy(mp);
return (error);
}
vput(vp);
error = prison_canseemount(td->td_ucred, mp);
if (error)
if (error != 0)
goto out;
#ifdef MAC
error = mac_mount_check_stat(td->td_ucred, mp);
if (error)
if (error != 0)
goto out;
#endif
/*