Lines Matching refs:error

178 	int error;  local
186 if ((error = namei(&nd)) != 0)
187 return (error);
192 error = vfs_busy(mp, 0);
194 if (error != 0)
195 return (error);
196 error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg);
211 return (error);
273 int error; local
275 error = kern_statfs(td, uap->path, UIO_USERSPACE, &sf);
276 if (error == 0)
277 error = copyout(&sf, uap->buf, sizeof(sf));
278 return (error);
288 int error; in kern_statfs() local
292 error = namei(&nd); in kern_statfs()
293 if (error != 0) in kern_statfs()
294 return (error); in kern_statfs()
299 error = vfs_busy(mp, 0); in kern_statfs()
301 if (error != 0) in kern_statfs()
302 return (error); in kern_statfs()
304 error = mac_mount_check_stat(td->td_ucred, mp); in kern_statfs()
305 if (error != 0) in kern_statfs()
315 error = VFS_STATFS(mp, sp); in kern_statfs()
316 if (error != 0) in kern_statfs()
327 return (error); in kern_statfs()
348 int error; local
350 error = kern_fstatfs(td, uap->fd, &sf);
351 if (error == 0)
352 error = copyout(&sf, uap->buf, sizeof(sf));
353 return (error);
364 int error; in kern_fstatfs() local
367 error = getvnode(td, fd, cap_rights_init(&rights, CAP_FSTATFS), &fp); in kern_fstatfs()
368 if (error != 0) in kern_fstatfs()
369 return (error); in kern_fstatfs()
381 error = EBADF; in kern_fstatfs()
384 error = vfs_busy(mp, 0); in kern_fstatfs()
386 if (error != 0) in kern_fstatfs()
387 return (error); in kern_fstatfs()
389 error = mac_mount_check_stat(td->td_ucred, mp); in kern_fstatfs()
390 if (error != 0) in kern_fstatfs()
400 error = VFS_STATFS(mp, sp); in kern_fstatfs()
401 if (error != 0) in kern_fstatfs()
413 return (error); in kern_fstatfs()
436 int error; local
440 error = kern_getfsstat(td, &uap->buf, uap->bufsize, &count,
442 if (error == 0)
444 return (error);
459 int error; in kern_getfsstat() local
511 (error = VFS_STATFS(mp, sp))) { in kern_getfsstat()
526 error = copyout(sp, sfsp, sizeof(*sp)); in kern_getfsstat()
527 if (error != 0) { in kern_getfsstat()
529 return (error); in kern_getfsstat()
569 int error; local
571 error = kern_statfs(td, uap->path, UIO_USERSPACE, &sf);
572 if (error != 0)
573 return (error);
597 int error; local
599 error = kern_fstatfs(td, uap->fd, &sf);
600 if (error != 0)
601 return (error);
628 int error; local
636 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE,
641 while (count != 0 && error == 0) {
643 error = copyout(&osb, uap->buf, sizeof(osb));
650 return (error);
673 int error; local
675 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t));
676 if (error != 0)
677 return (error);
678 error = kern_fhstatfs(td, fh, &sf);
679 if (error != 0)
680 return (error);
739 int error; local
742 error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_FCHDIR),
744 if (error != 0)
745 return (error);
751 error = change_dir(vp, td);
752 while (!error && (mp = vp->v_mountedhere) != NULL) {
755 error = VFS_ROOT(mp, LK_SHARED, &tdp);
757 if (error != 0)
762 if (error != 0) {
764 return (error);
794 int error; in kern_chdir() local
798 if ((error = namei(&nd)) != 0) in kern_chdir()
799 return (error); in kern_chdir()
800 if ((error = change_dir(nd.ni_vp, td)) != 0) { in kern_chdir()
803 return (error); in kern_chdir()
827 int error; local
829 error = priv_check(td, PRIV_VFS_CHROOT);
830 if (error != 0)
831 return (error);
834 error = namei(&nd);
835 if (error != 0)
836 goto error;
837 error = change_dir(nd.ni_vp, td);
838 if (error != 0)
841 error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp);
842 if (error != 0)
846 error = pwd_chroot(td, nd.ni_vp);
849 return (error);
852 error:
854 return (error);
867 int error; local
874 error = mac_vnode_check_chdir(td->td_ucred, vp);
875 if (error != 0)
876 return (error);
967 int cmode, error, indx; in kern_openat() local
992 error = falloc_noinstall(td, &fp); in kern_openat()
993 if (error != 0) in kern_openat()
994 return (error); in kern_openat()
1005 error = vn_open(&nd, &flags, cmode, fp); in kern_openat()
1006 if (error != 0) { in kern_openat()
1012 if (error == ENXIO && fp->f_ops != &badfileops) in kern_openat()
1023 (error == ENODEV || error == ENXIO) && in kern_openat()
1025 error = dupfdopen(td, fdp, td->td_dupfd, flags, error, in kern_openat()
1027 if (error == 0) in kern_openat()
1056 error = fo_truncate(fp, 0, td->td_ucred, td); in kern_openat()
1057 if (error != 0) in kern_openat()
1073 error = finstall(td, fp, &indx, flags, fcaps); in kern_openat()
1075 if (error != 0) { in kern_openat()
1093 return (error); in kern_openat()
1169 int error, whiteout = 0; in kern_mknodat() local
1176 error = priv_check(td, PRIV_VFS_MKNOD_DEV); in kern_mknodat()
1179 error = priv_check(td, PRIV_VFS_MKNOD_BAD); in kern_mknodat()
1182 error = priv_check(td, PRIV_VFS_MKNOD_WHT); in kern_mknodat()
1189 error = EINVAL; in kern_mknodat()
1192 if (error != 0) in kern_mknodat()
1193 return (error); in kern_mknodat()
1199 if ((error = namei(&nd)) != 0) in kern_mknodat()
1200 return (error); in kern_mknodat()
1237 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mknodat()
1238 return (error); in kern_mknodat()
1242 if (error == 0 && !whiteout) in kern_mknodat()
1243 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, in kern_mknodat()
1246 if (error == 0) { in kern_mknodat()
1248 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); in kern_mknodat()
1250 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, in kern_mknodat()
1252 if (error == 0) in kern_mknodat()
1259 return (error); in kern_mknodat()
1307 int error; in kern_mkfifoat() local
1315 if ((error = namei(&nd)) != 0) in kern_mkfifoat()
1316 return (error); in kern_mkfifoat()
1329 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkfifoat()
1330 return (error); in kern_mkfifoat()
1337 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkfifoat()
1339 if (error != 0) in kern_mkfifoat()
1342 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkfifoat()
1343 if (error == 0) in kern_mkfifoat()
1351 return (error); in kern_mkfifoat()
1413 int error; in can_hardlink() local
1418 error = VOP_GETATTR(vp, &va, cred); in can_hardlink()
1419 if (error != 0) in can_hardlink()
1420 return (error); in can_hardlink()
1423 error = priv_check_cred(cred, PRIV_VFS_LINK, 0); in can_hardlink()
1424 if (error != 0) in can_hardlink()
1425 return (error); in can_hardlink()
1429 error = priv_check_cred(cred, PRIV_VFS_LINK, 0); in can_hardlink()
1430 if (error != 0) in can_hardlink()
1431 return (error); in can_hardlink()
1445 int error; in kern_linkat() local
1452 if ((error = namei(&nd)) != 0) in kern_linkat()
1453 return (error); in kern_linkat()
1463 if ((error = namei(&nd)) == 0) { in kern_linkat()
1483 } else if ((error = vn_lock(vp, LK_EXCLUSIVE)) == 0) { in kern_linkat()
1484 error = can_hardlink(vp, td->td_ucred); in kern_linkat()
1486 if (error == 0) in kern_linkat()
1487 error = mac_vnode_check_link(td->td_ucred, in kern_linkat()
1490 if (error != 0) { in kern_linkat()
1494 return (error); in kern_linkat()
1496 error = vn_start_write(vp, &mp, V_NOWAIT); in kern_linkat()
1497 if (error != 0) { in kern_linkat()
1501 error = vn_start_write(NULL, &mp, in kern_linkat()
1503 if (error != 0) in kern_linkat()
1504 return (error); in kern_linkat()
1507 error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); in kern_linkat()
1520 return (error); in kern_linkat()
1568 int error; in kern_symlinkat() local
1575 if ((error = copyinstr(path1, syspath, MAXPATHLEN, NULL)) != 0) in kern_symlinkat()
1584 if ((error = namei(&nd)) != 0) in kern_symlinkat()
1593 error = EEXIST; in kern_symlinkat()
1599 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_symlinkat()
1607 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_symlinkat()
1609 if (error != 0) in kern_symlinkat()
1612 error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); in kern_symlinkat()
1613 if (error == 0) in kern_symlinkat()
1624 return (error); in kern_symlinkat()
1639 int error; local
1645 error = namei(&nd);
1646 if (error != 0)
1647 return (error);
1662 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0)
1663 return (error);
1666 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE);
1670 return (error);
1724 int error; in kern_unlinkat() local
1730 if ((error = namei(&nd)) != 0) in kern_unlinkat()
1731 return (error == EINVAL ? EPERM : error); in kern_unlinkat()
1734 error = EPERM; /* POSIX */ in kern_unlinkat()
1736 ((error = vn_stat(vp, &sb, td->td_ucred, NOCRED, td)) == 0) && in kern_unlinkat()
1738 error = EIDRM; /* Identifier removed */ in kern_unlinkat()
1746 error = EBUSY; in kern_unlinkat()
1748 if (error == 0) { in kern_unlinkat()
1756 if ((error = vn_start_write(NULL, &mp, in kern_unlinkat()
1758 return (error); in kern_unlinkat()
1762 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_unlinkat()
1764 if (error != 0) in kern_unlinkat()
1768 error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); in kern_unlinkat()
1780 return (error); in kern_unlinkat()
1806 int error; local
1809 error = fget(td, uap->fd, cap_rights_init(&rights, CAP_SEEK), &fp);
1810 if (error != 0)
1811 return (error);
1812 error = (fp->f_ops->fo_flags & DFLAG_SEEKABLE) != 0 ?
1815 return (error);
1879 int error; local
1893 error = mac_vnode_check_access(cred, vp, accmode);
1894 if (error != 0)
1895 return (error);
1897 if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0)
1898 error = VOP_ACCESS(vp, accmode, cred, td);
1899 return (error);
1948 int error; in kern_accessat() local
1973 if ((error = namei(&nd)) != 0) in kern_accessat()
1977 error = vn_access(vp, amode, usecred, td); in kern_accessat()
1985 return (error); in kern_accessat()
2030 int error; local
2032 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE,
2034 if (error != 0)
2035 return (error);
2059 int error; local
2061 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path,
2063 if (error != 0)
2064 return (error);
2117 int error; local
2119 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE,
2121 if (error == 0)
2122 error = copyout(&sb, uap->ub, sizeof (sb));
2123 return (error);
2138 int error; in sys_fstatat() local
2140 error = kern_statat(td, uap->flag, uap->fd, uap->path, in sys_fstatat()
2142 if (error == 0) in sys_fstatat()
2143 error = copyout(&sb, uap->buf, sizeof (sb)); in sys_fstatat()
2144 return (error); in sys_fstatat()
2155 int error; in kern_statat() local
2164 if ((error = namei(&nd)) != 0) in kern_statat()
2165 return (error); in kern_statat()
2166 error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); in kern_statat()
2167 if (error == 0) { in kern_statat()
2176 if (error != 0) in kern_statat()
2177 return (error); in kern_statat()
2204 int error; local
2206 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path,
2208 if (error == 0)
2209 error = copyout(&sb, uap->ub, sizeof (sb));
2210 return (error);
2257 int error; local
2259 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE,
2261 if (error != 0)
2262 return (error);
2286 int error; local
2288 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path,
2290 if (error != 0)
2291 return (error);
2341 int error; in kern_pathconf() local
2345 if ((error = namei(&nd)) != 0) in kern_pathconf()
2346 return (error); in kern_pathconf()
2353 error = VOP_PATHCONF(nd.ni_vp, name, td->td_retval); in kern_pathconf()
2355 return (error); in kern_pathconf()
2405 int error; in kern_readlinkat() local
2413 if ((error = namei(&nd)) != 0) in kern_readlinkat()
2414 return (error); in kern_readlinkat()
2418 error = mac_vnode_check_readlink(td->td_ucred, vp); in kern_readlinkat()
2419 if (error != 0) { in kern_readlinkat()
2421 return (error); in kern_readlinkat()
2425 error = EINVAL; in kern_readlinkat()
2436 error = VOP_READLINK(vp, &auio, td->td_ucred); in kern_readlinkat()
2440 return (error); in kern_readlinkat()
2454 int error; local
2467 error = priv_check(td, PRIV_VFS_CHFLAGS_DEV);
2468 if (error != 0)
2469 return (error);
2472 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
2473 return (error);
2478 error = mac_vnode_check_setflags(td->td_ucred, vp, vattr.va_flags);
2479 if (error == 0)
2481 error = VOP_SETATTR(vp, &vattr, td->td_ucred);
2484 return (error);
2553 int error, follow; in kern_chflagsat() local
2559 if ((error = namei(&nd)) != 0) in kern_chflagsat()
2560 return (error); in kern_chflagsat()
2562 error = setfflags(td, nd.ni_vp, flags); in kern_chflagsat()
2564 return (error); in kern_chflagsat()
2586 int error; local
2590 error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_FCHFLAGS),
2592 if (error != 0)
2593 return (error);
2599 error = setfflags(td, fp->f_vnode, uap->flags);
2601 return (error);
2616 int error; local
2618 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
2619 return (error);
2624 error = mac_vnode_check_setmode(cred, vp, vattr.va_mode);
2625 if (error == 0)
2627 error = VOP_SETATTR(vp, &vattr, cred);
2630 return (error);
2705 int error, follow; in kern_fchmodat() local
2711 if ((error = namei(&nd)) != 0) in kern_fchmodat()
2712 return (error); in kern_fchmodat()
2714 error = setfmode(td, td->td_ucred, nd.ni_vp, mode); in kern_fchmodat()
2716 return (error); in kern_fchmodat()
2733 int error; in sys_fchmod() local
2738 error = fget(td, uap->fd, cap_rights_init(&rights, CAP_FCHMOD), &fp); in sys_fchmod()
2739 if (error != 0) in sys_fchmod()
2740 return (error); in sys_fchmod()
2741 error = fo_chmod(fp, uap->mode, td->td_ucred, td); in sys_fchmod()
2743 return (error); in sys_fchmod()
2759 int error; local
2761 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
2762 return (error);
2768 error = mac_vnode_check_setowner(cred, vp, vattr.va_uid,
2770 if (error == 0)
2772 error = VOP_SETATTR(vp, &vattr, cred);
2775 return (error);
2830 int error, follow; in kern_fchownat() local
2837 if ((error = namei(&nd)) != 0) in kern_fchownat()
2838 return (error); in kern_fchownat()
2840 error = setfown(td, td->td_ucred, nd.ni_vp, uid, gid); in kern_fchownat()
2842 return (error); in kern_fchownat()
2890 int error; local
2894 error = fget(td, uap->fd, cap_rights_init(&rights, CAP_FCHOWN), &fp);
2895 if (error != 0)
2896 return (error);
2897 error = fo_chown(fp, uap->uid, uap->gid, td->td_ucred, td);
2899 return (error);
2913 int error; local
2922 if ((error = copyin(usrtvp, tv, sizeof(tv))) != 0)
2923 return (error);
2946 int error; in getutimens() local
2959 } else if ((error = copyin(usrtsp, tsp, sizeof(*tsp) * 2)) != 0) in getutimens()
2960 return (error); in getutimens()
2995 int error, setbirthtime; local
2997 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0)
2998 return (error);
3014 error = mac_vnode_check_setutimes(td->td_ucred, vp, vattr.va_atime,
3017 if (error == 0)
3018 error = VOP_SETATTR(vp, &vattr, td->td_ucred);
3021 return (error);
3068 int error; in kern_utimesat() local
3070 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_utimesat()
3071 return (error); in kern_utimesat()
3075 if ((error = namei(&nd)) != 0) in kern_utimesat()
3076 return (error); in kern_utimesat()
3078 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_utimesat()
3080 return (error); in kern_utimesat()
3111 int error; in kern_lutimes() local
3113 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_lutimes()
3114 return (error); in kern_lutimes()
3116 if ((error = namei(&nd)) != 0) in kern_lutimes()
3117 return (error); in kern_lutimes()
3119 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_lutimes()
3121 return (error); in kern_lutimes()
3152 int error; in kern_futimes() local
3155 error = getutimes(tptr, tptrseg, ts); in kern_futimes()
3156 if (error != 0) in kern_futimes()
3157 return (error); in kern_futimes()
3158 error = getvnode(td, fd, cap_rights_init(&rights, CAP_FUTIMES), &fp); in kern_futimes()
3159 if (error != 0) in kern_futimes()
3160 return (error); in kern_futimes()
3166 error = setutimes(td, fp->f_vnode, ts, 2, tptr == NULL); in kern_futimes()
3168 return (error); in kern_futimes()
3185 int error, flags; in kern_futimens() local
3188 error = getutimens(tptr, tptrseg, ts, &flags); in kern_futimens()
3189 if (error != 0) in kern_futimens()
3190 return (error); in kern_futimens()
3193 error = getvnode(td, fd, cap_rights_init(&rights, CAP_FUTIMES), &fp); in kern_futimens()
3194 if (error != 0) in kern_futimens()
3195 return (error); in kern_futimens()
3201 error = setutimes(td, fp->f_vnode, ts, 2, flags & UTIMENS_NULL); in kern_futimens()
3203 return (error); in kern_futimens()
3221 int error, flags; in kern_utimensat() local
3226 if ((error = getutimens(tptr, tptrseg, ts, &flags)) != 0) in kern_utimensat()
3227 return (error); in kern_utimensat()
3231 if ((error = namei(&nd)) != 0) in kern_utimensat()
3232 return (error); in kern_utimensat()
3241 error = setutimes(td, nd.ni_vp, ts, 2, flags & UTIMENS_NULL); in kern_utimensat()
3243 return (error); in kern_utimensat()
3277 int error; in kern_truncate() local
3282 if ((error = namei(&nd)) != 0) in kern_truncate()
3283 return (error); in kern_truncate()
3286 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) { in kern_truncate()
3289 return (error); in kern_truncate()
3294 error = EISDIR; in kern_truncate()
3296 else if ((error = mac_vnode_check_write(td->td_ucred, NOCRED, vp))) { in kern_truncate()
3299 else if ((error = vn_writechk(vp)) == 0 && in kern_truncate()
3300 (error = VOP_ACCESS(vp, VWRITE, td->td_ucred, td)) == 0) { in kern_truncate()
3303 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in kern_truncate()
3309 return (error); in kern_truncate()
3384 int error, lock_flags; local
3387 error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_FSYNC), &fp);
3388 if (error != 0)
3389 return (error);
3391 error = vn_start_write(vp, &mp, V_WAIT | PCATCH);
3392 if (error != 0)
3407 error = VOP_FSYNC(vp, MNT_WAIT, td);
3413 return (error);
3463 int error; in kern_renameat() local
3477 if ((error = namei(&fromnd)) != 0) in kern_renameat()
3478 return (error); in kern_renameat()
3480 error = mac_vnode_check_rename_from(td->td_ucred, fromnd.ni_dvp, in kern_renameat()
3492 if ((error = namei(&tond)) != 0) { in kern_renameat()
3494 if (error == EISDIR && fvp->v_type == VDIR) in kern_renameat()
3495 error = EINVAL; in kern_renameat()
3503 error = vn_start_write(fvp, &mp, V_NOWAIT); in kern_renameat()
3504 if (error != 0) { in kern_renameat()
3518 error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH); in kern_renameat()
3519 if (error != 0) in kern_renameat()
3520 return (error); in kern_renameat()
3525 error = ENOTDIR; in kern_renameat()
3528 error = EISDIR; in kern_renameat()
3537 error = cap_check(&tond.ni_filecaps.fc_rights, in kern_renameat()
3539 if (error != 0) in kern_renameat()
3545 error = EINVAL; in kern_renameat()
3553 error = -1; in kern_renameat()
3556 error = mac_vnode_check_rename_to(td->td_ucred, tdvp, in kern_renameat()
3560 if (error == 0) { in kern_renameat()
3561 error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd, in kern_renameat()
3582 if (error == -1) in kern_renameat()
3584 return (error); in kern_renameat()
3632 int error; in kern_mkdirat() local
3641 if ((error = namei(&nd)) != 0) in kern_mkdirat()
3642 return (error); in kern_mkdirat()
3661 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkdirat()
3662 return (error); in kern_mkdirat()
3669 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkdirat()
3671 if (error != 0) in kern_mkdirat()
3674 error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkdirat()
3680 if (error == 0) in kern_mkdirat()
3683 return (error); in kern_mkdirat()
3712 int error; in kern_rmdirat() local
3718 if ((error = namei(&nd)) != 0) in kern_rmdirat()
3719 return (error); in kern_rmdirat()
3722 error = ENOTDIR; in kern_rmdirat()
3729 error = EINVAL; in kern_rmdirat()
3736 error = EBUSY; in kern_rmdirat()
3740 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_rmdirat()
3742 if (error != 0) in kern_rmdirat()
3752 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_rmdirat()
3753 return (error); in kern_rmdirat()
3757 error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); in kern_rmdirat()
3766 return (error); in kern_rmdirat()
3785 int error; in ogetdirentries() local
3787 error = kern_ogetdirentries(td, uap, &loff); in ogetdirentries()
3788 if (error == 0) in ogetdirentries()
3789 error = copyout(&loff, uap->basep, sizeof(long)); in ogetdirentries()
3790 return (error); in ogetdirentries()
3804 int error, eofflag, readcnt; in kern_ogetdirentries() local
3811 error = getvnode(td, uap->fd, cap_rights_init(&rights, CAP_READ), &fp); in kern_ogetdirentries()
3812 if (error != 0) in kern_ogetdirentries()
3813 return (error); in kern_ogetdirentries()
3837 error = mac_vnode_check_readdir(td->td_ucred, vp); in kern_ogetdirentries()
3838 if (error != 0) { in kern_ogetdirentries()
3842 return (error); in kern_ogetdirentries()
3847 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, in kern_ogetdirentries()
3859 error = VOP_READDIR(vp, &kuio, fp->f_cred, &eofflag, in kern_ogetdirentries()
3862 if (error == 0) { in kern_ogetdirentries()
3887 error = EIO; in kern_ogetdirentries()
3892 error = uiomove(dirbuf, readcnt, &auio); in kern_ogetdirentries()
3896 if (error != 0) { in kern_ogetdirentries()
3900 return (error); in kern_ogetdirentries()
3918 if (error == 0) in kern_ogetdirentries()
3920 return (error); in kern_ogetdirentries()
3946 int error; local
3948 error = kern_getdirentries(td, uap->fd, uap->buf, uap->count, &base,
3950 if (error != 0)
3951 return (error);
3953 error = copyout(&base, uap->basep, sizeof(long));
3954 return (error);
3967 int error, eofflag; in kern_getdirentries() local
3974 error = getvnode(td, fd, cap_rights_init(&rights, CAP_READ), &fp); in kern_getdirentries()
3975 if (error != 0) in kern_getdirentries()
3976 return (error); in kern_getdirentries()
3985 error = EINVAL; in kern_getdirentries()
3999 error = mac_vnode_check_readdir(td->td_ucred, vp); in kern_getdirentries()
4000 if (error == 0) in kern_getdirentries()
4002 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, in kern_getdirentries()
4005 if (error != 0) { in kern_getdirentries()
4030 return (error); in kern_getdirentries()
4102 int error; local
4106 if ((error = namei(&nd)) != 0)
4107 return (error);
4111 error = EINVAL;
4115 error = mac_vnode_check_revoke(td->td_ucred, vp);
4116 if (error != 0)
4119 error = VOP_GETATTR(vp, &vattr, td->td_ucred);
4120 if (error != 0)
4123 error = priv_check(td, PRIV_VFS_ADMIN);
4124 if (error != 0)
4131 return (error);
4143 int error; in getvnode() local
4145 error = fget_unlocked(td->td_proc->p_fd, fd, rightsp, &fp, NULL); in getvnode()
4146 if (error != 0) in getvnode()
4147 return (error); in getvnode()
4187 int error; local
4189 error = priv_check(td, PRIV_VFS_GETFH);
4190 if (error != 0)
4191 return (error);
4194 error = namei(&nd);
4195 if (error != 0)
4196 return (error);
4201 error = VOP_VPTOFH(vp, &fh.fh_fid);
4203 if (error == 0)
4204 error = copyout(&fh, uap->fhp, sizeof (fh));
4205 return (error);
4222 int error; local
4224 error = priv_check(td, PRIV_VFS_GETFH);
4225 if (error != 0)
4226 return (error);
4229 error = namei(&nd);
4230 if (error != 0)
4231 return (error);
4236 error = VOP_VPTOFH(vp, &fh.fh_fid);
4238 if (error == 0)
4239 error = copyout(&fh, uap->fhp, sizeof (fh));
4240 return (error);
4268 int fmode, error; local
4271 error = priv_check(td, PRIV_VFS_FHOPEN);
4272 if (error != 0)
4273 return (error);
4279 error = copyin(uap->u_fhp, &fhp, sizeof(fhp));
4280 if (error != 0)
4281 return(error);
4287 error = VFS_FHTOVP(mp, &fhp.fh_fid, LK_EXCLUSIVE, &vp);
4289 if (error != 0)
4290 return (error);
4292 error = falloc_noinstall(td, &fp);
4293 if (error != 0) {
4295 return (error);
4305 error = vn_open_vnode(vp, fmode, td->td_ucred, td, fp);
4306 if (error != 0) {
4324 error = fo_truncate(fp, 0, td->td_ucred, td);
4325 if (error != 0)
4329 error = finstall(td, fp, &indx, fmode, NULL);
4333 return (error);
4355 int error; local
4357 error = copyin(uap->u_fhp, &fh, sizeof(fh));
4358 if (error != 0)
4359 return (error);
4360 error = kern_fhstat(td, fh, &sb);
4361 if (error == 0)
4362 error = copyout(&sb, uap->sb, sizeof(sb));
4363 return (error);
4371 int error; in kern_fhstat() local
4373 error = priv_check(td, PRIV_VFS_FHSTAT); in kern_fhstat()
4374 if (error != 0) in kern_fhstat()
4375 return (error); in kern_fhstat()
4378 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstat()
4380 if (error != 0) in kern_fhstat()
4381 return (error); in kern_fhstat()
4382 error = vn_stat(vp, sb, td->td_ucred, NOCRED, td); in kern_fhstat()
4384 return (error); in kern_fhstat()
4406 int error; local
4408 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t));
4409 if (error != 0)
4410 return (error);
4411 error = kern_fhstatfs(td, fh, &sf);
4412 if (error != 0)
4413 return (error);
4423 int error; in kern_fhstatfs() local
4425 error = priv_check(td, PRIV_VFS_FHSTATFS); in kern_fhstatfs()
4426 if (error != 0) in kern_fhstatfs()
4427 return (error); in kern_fhstatfs()
4430 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstatfs()
4431 if (error != 0) { in kern_fhstatfs()
4433 return (error); in kern_fhstatfs()
4436 error = prison_canseemount(td->td_ucred, mp); in kern_fhstatfs()
4437 if (error != 0) in kern_fhstatfs()
4440 error = mac_mount_check_stat(td->td_ucred, mp); in kern_fhstatfs()
4441 if (error != 0) in kern_fhstatfs()
4451 error = VFS_STATFS(mp, sp); in kern_fhstatfs()
4452 if (error == 0) in kern_fhstatfs()
4456 return (error); in kern_fhstatfs()
4467 int error; in kern_posix_fallocate() local
4474 error = fget(td, fd, cap_rights_init(&rights, CAP_WRITE), &fp); in kern_posix_fallocate()
4475 if (error != 0) in kern_posix_fallocate()
4476 return (error); in kern_posix_fallocate()
4478 error = ESPIPE; in kern_posix_fallocate()
4482 error = EBADF; in kern_posix_fallocate()
4486 error = ENODEV; in kern_posix_fallocate()
4491 error = ENODEV; in kern_posix_fallocate()
4502 error = vn_start_write(vp, &mp, V_WAIT | PCATCH); in kern_posix_fallocate()
4503 if (error != 0) in kern_posix_fallocate()
4505 error = vn_lock(vp, LK_EXCLUSIVE); in kern_posix_fallocate()
4506 if (error != 0) { in kern_posix_fallocate()
4511 error = mac_vnode_check_write(td->td_ucred, fp->f_cred, vp); in kern_posix_fallocate()
4512 if (error == 0) in kern_posix_fallocate()
4514 error = VOP_ALLOCATE(vp, &offset, &len); in kern_posix_fallocate()
4522 if (error != 0 || len == 0) in kern_posix_fallocate()
4529 return (error); in kern_posix_fallocate()
4556 int error; in kern_posix_fadvise() local
4575 error = fget(td, fd, cap_rights_init(&rights), &fp); in kern_posix_fadvise()
4576 if (error != 0) in kern_posix_fadvise()
4579 error = ESPIPE; in kern_posix_fadvise()
4583 error = ENODEV; in kern_posix_fadvise()
4588 error = ENODEV; in kern_posix_fadvise()
4657 error = VOP_ADVISE(vp, offset, end, advice); in kern_posix_fadvise()
4664 return (error); in kern_posix_fadvise()