Lines Matching refs:error

170 	int error;  in sys_quotactl()  local
178 if ((error = namei(&nd)) != 0) in sys_quotactl()
179 return (error); in sys_quotactl()
184 error = vfs_busy(mp, 0); in sys_quotactl()
186 if (error != 0) in sys_quotactl()
187 return (error); in sys_quotactl()
188 error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg); in sys_quotactl()
204 return (error); in sys_quotactl()
252 int error; in kern_do_statfs() local
256 error = vfs_busy(mp, 0); in kern_do_statfs()
258 if (error != 0) in kern_do_statfs()
259 return (error); in kern_do_statfs()
261 error = mac_mount_check_stat(td->td_ucred, mp); in kern_do_statfs()
262 if (error != 0) in kern_do_statfs()
272 error = VFS_STATFS(mp, sp); in kern_do_statfs()
273 if (error != 0) in kern_do_statfs()
282 return (error); in kern_do_statfs()
298 int error; in sys_statfs() local
301 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in sys_statfs()
302 if (error == 0) in sys_statfs()
303 error = copyout(sfp, uap->buf, sizeof(struct statfs)); in sys_statfs()
305 return (error); in sys_statfs()
314 int error; in kern_statfs() local
318 error = namei(&nd); in kern_statfs()
319 if (error != 0) in kern_statfs()
320 return (error); in kern_statfs()
341 int error; in sys_fstatfs() local
344 error = kern_fstatfs(td, uap->fd, sfp); in sys_fstatfs()
345 if (error == 0) in sys_fstatfs()
346 error = copyout(sfp, uap->buf, sizeof(struct statfs)); in sys_fstatfs()
348 return (error); in sys_fstatfs()
357 int error; in kern_fstatfs() local
360 error = getvnode(td, fd, &cap_fstatfs_rights, &fp); in kern_fstatfs()
361 if (error != 0) in kern_fstatfs()
362 return (error); in kern_fstatfs()
390 int error; in sys_getfsstat() local
394 error = kern_getfsstat(td, &uap->buf, uap->bufsize, &count, in sys_getfsstat()
396 if (error == 0) in sys_getfsstat()
398 return (error); in sys_getfsstat()
413 int error; in kern_getfsstat() local
490 error = VFS_STATFS(mp, sp); in kern_getfsstat()
491 if (error != 0) { in kern_getfsstat()
511 error = copyout(sp, sfsp, sizeof(*sp)); in kern_getfsstat()
513 if (error != 0) { in kern_getfsstat()
515 return (error); in kern_getfsstat()
550 int error; in freebsd4_statfs() local
553 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in freebsd4_statfs()
554 if (error == 0) { in freebsd4_statfs()
556 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_statfs()
559 return (error); in freebsd4_statfs()
576 int error; in freebsd4_fstatfs() local
579 error = kern_fstatfs(td, uap->fd, sfp); in freebsd4_fstatfs()
580 if (error == 0) { in freebsd4_fstatfs()
582 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_fstatfs()
585 return (error); in freebsd4_fstatfs()
604 int error; in freebsd4_getfsstat() local
612 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, in freebsd4_getfsstat()
614 if (error == 0) in freebsd4_getfsstat()
618 while (count != 0 && error == 0) { in freebsd4_getfsstat()
620 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_getfsstat()
627 return (error); in freebsd4_getfsstat()
645 int error; in freebsd4_fhstatfs() local
647 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd4_fhstatfs()
648 if (error != 0) in freebsd4_fhstatfs()
649 return (error); in freebsd4_fhstatfs()
651 error = kern_fhstatfs(td, fh, sfp); in freebsd4_fhstatfs()
652 if (error == 0) { in freebsd4_fhstatfs()
654 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_fhstatfs()
657 return (error); in freebsd4_fhstatfs()
704 int error; in freebsd11_statfs() local
707 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in freebsd11_statfs()
708 if (error == 0) { in freebsd11_statfs()
710 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_statfs()
713 return (error); in freebsd11_statfs()
724 int error; in freebsd11_fstatfs() local
727 error = kern_fstatfs(td, uap->fd, sfp); in freebsd11_fstatfs()
728 if (error == 0) { in freebsd11_fstatfs()
730 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fstatfs()
733 return (error); in freebsd11_fstatfs()
745 int error; in freebsd11_getfsstat() local
749 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, in freebsd11_getfsstat()
751 if (error == 0) in freebsd11_getfsstat()
755 while (count > 0 && error == 0) { in freebsd11_getfsstat()
757 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_getfsstat()
764 return (error); in freebsd11_getfsstat()
776 int error; in freebsd11_fhstatfs() local
778 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstatfs()
779 if (error) in freebsd11_fhstatfs()
780 return (error); in freebsd11_fhstatfs()
782 error = kern_fhstatfs(td, fh, sfp); in freebsd11_fhstatfs()
783 if (error == 0) { in freebsd11_fhstatfs()
785 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fhstatfs()
788 return (error); in freebsd11_fhstatfs()
839 int error; in sys_fchdir() local
842 error = getvnode(td, uap->fd, &cap_fchdir_rights, in sys_fchdir()
844 if (error != 0) in sys_fchdir()
845 return (error); in sys_fchdir()
851 error = change_dir(vp, td); in sys_fchdir()
852 while (!error && (mp = vp->v_mountedhere) != NULL) { in sys_fchdir()
855 error = VFS_ROOT(mp, LK_SHARED, &tdp); in sys_fchdir()
857 if (error != 0) in sys_fchdir()
862 if (error != 0) { in sys_fchdir()
864 return (error); in sys_fchdir()
890 int error; in kern_chdir() local
894 if ((error = namei(&nd)) != 0) in kern_chdir()
895 return (error); in kern_chdir()
896 if ((error = change_dir(nd.ni_vp, td)) != 0) { in kern_chdir()
899 return (error); in kern_chdir()
919 int error; in sys_chroot() local
921 error = priv_check(td, PRIV_VFS_CHROOT); in sys_chroot()
922 if (error != 0) in sys_chroot()
923 return (error); in sys_chroot()
926 error = namei(&nd); in sys_chroot()
927 if (error != 0) in sys_chroot()
928 goto error; in sys_chroot()
929 error = change_dir(nd.ni_vp, td); in sys_chroot()
930 if (error != 0) in sys_chroot()
933 error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp); in sys_chroot()
934 if (error != 0) in sys_chroot()
938 error = pwd_chroot(td, nd.ni_vp); in sys_chroot()
941 return (error); in sys_chroot()
944 error: in sys_chroot()
946 return (error); in sys_chroot()
957 int error; in change_dir() local
964 error = mac_vnode_check_chdir(td->td_ucred, vp); in change_dir()
965 if (error != 0) in change_dir()
966 return (error); in change_dir()
1052 int cmode, error, indx; in kern_openat() local
1077 error = falloc_noinstall(td, &fp); in kern_openat()
1078 if (error != 0) in kern_openat()
1079 return (error); in kern_openat()
1090 error = vn_open(&nd, &flags, cmode, fp); in kern_openat()
1091 if (error != 0) { in kern_openat()
1097 if (error == ENXIO && fp->f_ops != &badfileops) in kern_openat()
1108 (error == ENODEV || error == ENXIO) && in kern_openat()
1110 error = dupfdopen(td, fdp, td->td_dupfd, flags, error, in kern_openat()
1112 if (error == 0) in kern_openat()
1141 error = fo_truncate(fp, 0, td->td_ucred, td); in kern_openat()
1142 if (error != 0) in kern_openat()
1158 error = finstall(td, fp, &indx, flags, fcaps); in kern_openat()
1160 if (error != 0) { in kern_openat()
1178 return (error); in kern_openat()
1247 int error, whiteout = 0; in kern_mknodat() local
1254 error = priv_check(td, PRIV_VFS_MKNOD_DEV); in kern_mknodat()
1255 if (error == 0 && dev == VNOVAL) in kern_mknodat()
1256 error = EINVAL; in kern_mknodat()
1259 error = priv_check(td, PRIV_VFS_MKNOD_WHT); in kern_mknodat()
1266 error = EINVAL; in kern_mknodat()
1269 if (error != 0) in kern_mknodat()
1270 return (error); in kern_mknodat()
1276 if ((error = namei(&nd)) != 0) in kern_mknodat()
1277 return (error); in kern_mknodat()
1311 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mknodat()
1312 return (error); in kern_mknodat()
1316 if (error == 0 && !whiteout) in kern_mknodat()
1317 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, in kern_mknodat()
1320 if (error == 0) { in kern_mknodat()
1322 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); in kern_mknodat()
1324 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, in kern_mknodat()
1326 if (error == 0) in kern_mknodat()
1333 return (error); in kern_mknodat()
1375 int error; in kern_mkfifoat() local
1383 if ((error = namei(&nd)) != 0) in kern_mkfifoat()
1384 return (error); in kern_mkfifoat()
1397 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkfifoat()
1398 return (error); in kern_mkfifoat()
1405 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkfifoat()
1407 if (error != 0) in kern_mkfifoat()
1410 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkfifoat()
1411 if (error == 0) in kern_mkfifoat()
1419 return (error); in kern_mkfifoat()
1476 int error; in can_hardlink() local
1481 error = VOP_GETATTR(vp, &va, cred); in can_hardlink()
1482 if (error != 0) in can_hardlink()
1483 return (error); in can_hardlink()
1486 error = priv_check_cred(cred, PRIV_VFS_LINK, 0); in can_hardlink()
1487 if (error != 0) in can_hardlink()
1488 return (error); in can_hardlink()
1492 error = priv_check_cred(cred, PRIV_VFS_LINK, 0); in can_hardlink()
1493 if (error != 0) in can_hardlink()
1494 return (error); in can_hardlink()
1505 int error; in kern_linkat() local
1511 if ((error = namei(&nd)) != 0) in kern_linkat()
1512 return (error); in kern_linkat()
1514 error = kern_linkat_vp(td, nd.ni_vp, fd2, path2, segflag); in kern_linkat()
1515 } while (error == EAGAIN); in kern_linkat()
1516 return (error); in kern_linkat()
1525 int error; in kern_linkat_vp() local
1534 if ((error = namei(&nd)) == 0) { in kern_linkat_vp()
1554 } else if ((error = vn_lock(vp, LK_EXCLUSIVE)) == 0) { in kern_linkat_vp()
1555 error = can_hardlink(vp, td->td_ucred); in kern_linkat_vp()
1557 if (error == 0) in kern_linkat_vp()
1558 error = mac_vnode_check_link(td->td_ucred, in kern_linkat_vp()
1561 if (error != 0) { in kern_linkat_vp()
1565 return (error); in kern_linkat_vp()
1567 error = vn_start_write(vp, &mp, V_NOWAIT); in kern_linkat_vp()
1568 if (error != 0) { in kern_linkat_vp()
1572 error = vn_start_write(NULL, &mp, in kern_linkat_vp()
1574 if (error != 0) in kern_linkat_vp()
1575 return (error); in kern_linkat_vp()
1578 error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); in kern_linkat_vp()
1591 return (error); in kern_linkat_vp()
1634 int error; in kern_symlinkat() local
1640 if ((error = copyinstr(path1, syspath, MAXPATHLEN, NULL)) != 0) in kern_symlinkat()
1649 if ((error = namei(&nd)) != 0) in kern_symlinkat()
1658 error = EEXIST; in kern_symlinkat()
1664 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_symlinkat()
1672 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_symlinkat()
1674 if (error != 0) in kern_symlinkat()
1677 error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); in kern_symlinkat()
1678 if (error == 0) in kern_symlinkat()
1689 return (error); in kern_symlinkat()
1705 int error; in sys_undelete() local
1711 error = namei(&nd); in sys_undelete()
1712 if (error != 0) in sys_undelete()
1713 return (error); in sys_undelete()
1728 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in sys_undelete()
1729 return (error); in sys_undelete()
1732 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE); in sys_undelete()
1736 return (error); in sys_undelete()
1785 int error; in kern_unlinkat() local
1791 if ((error = namei(&nd)) != 0) in kern_unlinkat()
1792 return (error == EINVAL ? EPERM : error); in kern_unlinkat()
1795 error = EPERM; /* POSIX */ in kern_unlinkat()
1797 ((error = vn_stat(vp, &sb, td->td_ucred, NOCRED, td)) == 0) && in kern_unlinkat()
1799 error = EIDRM; /* Identifier removed */ in kern_unlinkat()
1807 error = EBUSY; in kern_unlinkat()
1809 if (error == 0) { in kern_unlinkat()
1817 if ((error = vn_start_write(NULL, &mp, in kern_unlinkat()
1819 return (error); in kern_unlinkat()
1823 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_unlinkat()
1825 if (error != 0) in kern_unlinkat()
1829 error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); in kern_unlinkat()
1841 return (error); in kern_unlinkat()
1866 int error; in kern_lseek() local
1869 error = fget(td, fd, &cap_seek_rights, &fp); in kern_lseek()
1870 if (error != 0) in kern_lseek()
1871 return (error); in kern_lseek()
1872 error = (fp->f_ops->fo_flags & DFLAG_SEEKABLE) != 0 ? in kern_lseek()
1875 return (error); in kern_lseek()
1915 int error; in vn_access() local
1929 error = mac_vnode_check_access(cred, vp, accmode); in vn_access()
1930 if (error != 0) in vn_access()
1931 return (error); in vn_access()
1933 if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0) in vn_access()
1934 error = VOP_ACCESS(vp, accmode, cred, td); in vn_access()
1935 return (error); in vn_access()
1978 int error; in kern_accessat() local
2003 if ((error = namei(&nd)) != 0) in kern_accessat()
2007 error = vn_access(vp, amode, usecred, td); in kern_accessat()
2015 return (error); in kern_accessat()
2050 int error; in ostat() local
2052 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in ostat()
2054 if (error != 0) in ostat()
2055 return (error); in ostat()
2074 int error; in olstat() local
2076 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in olstat()
2078 if (error != 0) in olstat()
2079 return (error); in olstat()
2193 int error; in freebsd11_stat() local
2195 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in freebsd11_stat()
2197 if (error != 0) in freebsd11_stat()
2198 return (error); in freebsd11_stat()
2199 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_stat()
2200 if (error == 0) in freebsd11_stat()
2201 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_stat()
2202 return (error); in freebsd11_stat()
2210 int error; in freebsd11_lstat() local
2212 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_lstat()
2214 if (error != 0) in freebsd11_lstat()
2215 return (error); in freebsd11_lstat()
2216 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_lstat()
2217 if (error == 0) in freebsd11_lstat()
2218 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_lstat()
2219 return (error); in freebsd11_lstat()
2228 int error; in freebsd11_fhstat() local
2230 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstat()
2231 if (error != 0) in freebsd11_fhstat()
2232 return (error); in freebsd11_fhstat()
2233 error = kern_fhstat(td, fh, &sb); in freebsd11_fhstat()
2234 if (error != 0) in freebsd11_fhstat()
2235 return (error); in freebsd11_fhstat()
2236 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fhstat()
2237 if (error == 0) in freebsd11_fhstat()
2238 error = copyout(&osb, uap->sb, sizeof(osb)); in freebsd11_fhstat()
2239 return (error); in freebsd11_fhstat()
2247 int error; in freebsd11_fstatat() local
2249 error = kern_statat(td, uap->flag, uap->fd, uap->path, in freebsd11_fstatat()
2251 if (error != 0) in freebsd11_fstatat()
2252 return (error); in freebsd11_fstatat()
2253 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fstatat()
2254 if (error == 0) in freebsd11_fstatat()
2255 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fstatat()
2256 return (error); in freebsd11_fstatat()
2275 int error; in sys_fstatat() local
2277 error = kern_statat(td, uap->flag, uap->fd, uap->path, in sys_fstatat()
2279 if (error == 0) in sys_fstatat()
2280 error = copyout(&sb, uap->buf, sizeof (sb)); in sys_fstatat()
2281 return (error); in sys_fstatat()
2291 int error; in kern_statat() local
2300 if ((error = namei(&nd)) != 0) in kern_statat()
2301 return (error); in kern_statat()
2302 error = vn_stat(nd.ni_vp, &sb, td->td_ucred, NOCRED, td); in kern_statat()
2303 if (error == 0) { in kern_statat()
2312 if (error != 0) in kern_statat()
2313 return (error); in kern_statat()
2366 int error; in freebsd11_nstat() local
2368 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in freebsd11_nstat()
2370 if (error != 0) in freebsd11_nstat()
2371 return (error); in freebsd11_nstat()
2390 int error; in freebsd11_nlstat() local
2392 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_nlstat()
2394 if (error != 0) in freebsd11_nlstat()
2395 return (error); in freebsd11_nlstat()
2414 int error; in sys_pathconf() local
2416 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, FOLLOW, in sys_pathconf()
2418 if (error == 0) in sys_pathconf()
2420 return (error); in sys_pathconf()
2433 int error; in sys_lpathconf() local
2435 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, in sys_lpathconf()
2437 if (error == 0) in sys_lpathconf()
2439 return (error); in sys_lpathconf()
2447 int error; in kern_pathconf() local
2451 if ((error = namei(&nd)) != 0) in kern_pathconf()
2452 return (error); in kern_pathconf()
2455 error = VOP_PATHCONF(nd.ni_vp, name, valuep); in kern_pathconf()
2457 return (error); in kern_pathconf()
2499 int error; in kern_readlinkat() local
2507 if ((error = namei(&nd)) != 0) in kern_readlinkat()
2508 return (error); in kern_readlinkat()
2512 error = kern_readlink_vp(vp, buf, bufseg, count, td); in kern_readlinkat()
2515 return (error); in kern_readlinkat()
2527 int error; in kern_readlink_vp() local
2531 error = mac_vnode_check_readlink(td->td_ucred, vp); in kern_readlink_vp()
2532 if (error != 0) in kern_readlink_vp()
2533 return (error); in kern_readlink_vp()
2547 error = VOP_READLINK(vp, &auio, td->td_ucred); in kern_readlink_vp()
2549 return (error); in kern_readlink_vp()
2560 int error; in setfflags() local
2573 error = priv_check(td, PRIV_VFS_CHFLAGS_DEV); in setfflags()
2574 if (error != 0) in setfflags()
2575 return (error); in setfflags()
2578 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfflags()
2579 return (error); in setfflags()
2584 error = mac_vnode_check_setflags(td->td_ucred, vp, vattr.va_flags); in setfflags()
2585 if (error == 0) in setfflags()
2587 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setfflags()
2590 return (error); in setfflags()
2654 int error, follow; in kern_chflagsat() local
2660 if ((error = namei(&nd)) != 0) in kern_chflagsat()
2661 return (error); in kern_chflagsat()
2663 error = setfflags(td, nd.ni_vp, flags); in kern_chflagsat()
2665 return (error); in kern_chflagsat()
2681 int error; in sys_fchflags() local
2685 error = getvnode(td, uap->fd, &cap_fchflags_rights, in sys_fchflags()
2687 if (error != 0) in sys_fchflags()
2688 return (error); in sys_fchflags()
2694 error = setfflags(td, fp->f_vnode, uap->flags); in sys_fchflags()
2696 return (error); in sys_fchflags()
2707 int error; in setfmode() local
2709 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfmode()
2710 return (error); in setfmode()
2715 error = mac_vnode_check_setmode(cred, vp, vattr.va_mode); in setfmode()
2716 if (error == 0) in setfmode()
2718 error = VOP_SETATTR(vp, &vattr, cred); in setfmode()
2721 return (error); in setfmode()
2785 int error, follow; in kern_fchmodat() local
2791 if ((error = namei(&nd)) != 0) in kern_fchmodat()
2792 return (error); in kern_fchmodat()
2794 error = setfmode(td, td->td_ucred, nd.ni_vp, mode); in kern_fchmodat()
2796 return (error); in kern_fchmodat()
2812 int error; in sys_fchmod() local
2817 error = fget(td, uap->fd, &cap_fchmod_rights, &fp); in sys_fchmod()
2818 if (error != 0) in sys_fchmod()
2819 return (error); in sys_fchmod()
2820 error = fo_chmod(fp, uap->mode, td->td_ucred, td); in sys_fchmod()
2822 return (error); in sys_fchmod()
2834 int error; in setfown() local
2836 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfown()
2837 return (error); in setfown()
2843 error = mac_vnode_check_setowner(cred, vp, vattr.va_uid, in setfown()
2845 if (error == 0) in setfown()
2847 error = VOP_SETATTR(vp, &vattr, cred); in setfown()
2850 return (error); in setfown()
2898 int error, follow; in kern_fchownat() local
2905 if ((error = namei(&nd)) != 0) in kern_fchownat()
2906 return (error); in kern_fchownat()
2908 error = setfown(td, td->td_ucred, nd.ni_vp, uid, gid); in kern_fchownat()
2910 return (error); in kern_fchownat()
2945 int error; in sys_fchown() local
2949 error = fget(td, uap->fd, &cap_fchown_rights, &fp); in sys_fchown()
2950 if (error != 0) in sys_fchown()
2951 return (error); in sys_fchown()
2952 error = fo_chown(fp, uap->uid, uap->gid, td->td_ucred, td); in sys_fchown()
2954 return (error); in sys_fchown()
2966 int error; in getutimes() local
2975 if ((error = copyin(usrtvp, tv, sizeof(tv))) != 0) in getutimes()
2976 return (error); in getutimes()
2999 int error; in getutimens() local
3012 } else if ((error = copyin(usrtsp, tsp, sizeof(*tsp) * 2)) != 0) in getutimens()
3013 return (error); in getutimens()
3044 int error, setbirthtime; in setutimes() local
3046 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setutimes()
3047 return (error); in setutimes()
3063 error = mac_vnode_check_setutimes(td->td_ucred, vp, vattr.va_atime, in setutimes()
3066 if (error == 0) in setutimes()
3067 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setutimes()
3070 return (error); in setutimes()
3111 int error; in kern_utimesat() local
3113 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_utimesat()
3114 return (error); in kern_utimesat()
3118 if ((error = namei(&nd)) != 0) in kern_utimesat()
3119 return (error); in kern_utimesat()
3121 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_utimesat()
3123 return (error); in kern_utimesat()
3149 int error; in kern_lutimes() local
3151 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_lutimes()
3152 return (error); in kern_lutimes()
3154 if ((error = namei(&nd)) != 0) in kern_lutimes()
3155 return (error); in kern_lutimes()
3157 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_lutimes()
3159 return (error); in kern_lutimes()
3184 int error; in kern_futimes() local
3187 error = getutimes(tptr, tptrseg, ts); in kern_futimes()
3188 if (error != 0) in kern_futimes()
3189 return (error); in kern_futimes()
3190 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimes()
3191 if (error != 0) in kern_futimes()
3192 return (error); in kern_futimes()
3198 error = setutimes(td, fp->f_vnode, ts, 2, tptr == NULL); in kern_futimes()
3200 return (error); in kern_futimes()
3216 int error, flags; in kern_futimens() local
3219 error = getutimens(tptr, tptrseg, ts, &flags); in kern_futimens()
3220 if (error != 0) in kern_futimens()
3221 return (error); in kern_futimens()
3224 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimens()
3225 if (error != 0) in kern_futimens()
3226 return (error); in kern_futimens()
3232 error = setutimes(td, fp->f_vnode, ts, 2, flags & UTIMENS_NULL); in kern_futimens()
3234 return (error); in kern_futimens()
3251 int error, flags; in kern_utimensat() local
3256 if ((error = getutimens(tptr, tptrseg, ts, &flags)) != 0) in kern_utimensat()
3257 return (error); in kern_utimensat()
3261 if ((error = namei(&nd)) != 0) in kern_utimensat()
3262 return (error); in kern_utimensat()
3271 error = setutimes(td, nd.ni_vp, ts, 2, flags & UTIMENS_NULL); in kern_utimensat()
3273 return (error); in kern_utimensat()
3301 int error; in kern_truncate() local
3306 if ((error = namei(&nd)) != 0) in kern_truncate()
3307 return (error); in kern_truncate()
3310 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) { in kern_truncate()
3313 return (error); in kern_truncate()
3318 error = EISDIR; in kern_truncate()
3320 else if ((error = mac_vnode_check_write(td->td_ucred, NOCRED, vp))) { in kern_truncate()
3323 else if ((error = vn_writechk(vp)) == 0 && in kern_truncate()
3324 (error = VOP_ACCESS(vp, VWRITE, td->td_ucred, td)) == 0) { in kern_truncate()
3327 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in kern_truncate()
3333 return (error); in kern_truncate()
3377 int error, lock_flags; in kern_fsync() local
3380 error = getvnode(td, fd, &cap_fsync_rights, &fp); in kern_fsync()
3381 if (error != 0) in kern_fsync()
3382 return (error); in kern_fsync()
3388 error = vn_start_write(vp, &mp, V_WAIT | PCATCH); in kern_fsync()
3389 if (error != 0) in kern_fsync()
3404 error = fullsync ? VOP_FSYNC(vp, MNT_WAIT, td) : VOP_FDATASYNC(vp, td); in kern_fsync()
3409 return (error); in kern_fsync()
3475 int error; in kern_renameat() local
3489 if ((error = namei(&fromnd)) != 0) in kern_renameat()
3490 return (error); in kern_renameat()
3492 error = mac_vnode_check_rename_from(td->td_ucred, fromnd.ni_dvp, in kern_renameat()
3504 if ((error = namei(&tond)) != 0) { in kern_renameat()
3506 if (error == EISDIR && fvp->v_type == VDIR) in kern_renameat()
3507 error = EINVAL; in kern_renameat()
3515 error = vn_start_write(fvp, &mp, V_NOWAIT); in kern_renameat()
3516 if (error != 0) { in kern_renameat()
3530 error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH); in kern_renameat()
3531 if (error != 0) in kern_renameat()
3532 return (error); in kern_renameat()
3537 error = ENOTDIR; in kern_renameat()
3540 error = EISDIR; in kern_renameat()
3549 error = cap_check(&tond.ni_filecaps.fc_rights, in kern_renameat()
3551 if (error != 0) in kern_renameat()
3557 error = EINVAL; in kern_renameat()
3565 error = -1; in kern_renameat()
3568 error = mac_vnode_check_rename_to(td->td_ucred, tdvp, in kern_renameat()
3572 if (error == 0) { in kern_renameat()
3573 error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd, in kern_renameat()
3594 if (error == -1) in kern_renameat()
3596 return (error); in kern_renameat()
3638 int error; in kern_mkdirat() local
3647 if ((error = namei(&nd)) != 0) in kern_mkdirat()
3648 return (error); in kern_mkdirat()
3667 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkdirat()
3668 return (error); in kern_mkdirat()
3675 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkdirat()
3677 if (error != 0) in kern_mkdirat()
3680 error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkdirat()
3686 if (error == 0) in kern_mkdirat()
3689 return (error); in kern_mkdirat()
3713 int error; in kern_rmdirat() local
3719 if ((error = namei(&nd)) != 0) in kern_rmdirat()
3720 return (error); in kern_rmdirat()
3723 error = ENOTDIR; in kern_rmdirat()
3730 error = EINVAL; in kern_rmdirat()
3737 error = EBUSY; in kern_rmdirat()
3741 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_rmdirat()
3743 if (error != 0) in kern_rmdirat()
3753 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_rmdirat()
3754 return (error); in kern_rmdirat()
3758 error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); in kern_rmdirat()
3767 return (error); in kern_rmdirat()
3780 int error; in freebsd11_kern_getdirentries() local
3787 error = kern_getdirentries(td, fd, dirbuf, count, &base, &resid, in freebsd11_kern_getdirentries()
3789 if (error != 0) in freebsd11_kern_getdirentries()
3812 error = EOVERFLOW; in freebsd11_kern_getdirentries()
3829 error = copyout(&dstdp, ubuf + ucount, dstdp.d_reclen); in freebsd11_kern_getdirentries()
3830 if (error != 0) in freebsd11_kern_getdirentries()
3838 if (error == 0) in freebsd11_kern_getdirentries()
3840 return (error); in freebsd11_kern_getdirentries()
3879 int error; in ogetdirentries() local
3881 error = kern_ogetdirentries(td, uap, &loff); in ogetdirentries()
3882 if (error == 0) in ogetdirentries()
3883 error = copyout(&loff, uap->basep, sizeof(long)); in ogetdirentries()
3884 return (error); in ogetdirentries()
3892 int error; in kern_ogetdirentries() local
3898 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in kern_ogetdirentries()
3901 if (error == 0 && uap->basep != NULL) in kern_ogetdirentries()
3902 error = copyout(&base, uap->basep, sizeof(long)); in kern_ogetdirentries()
3904 return (error); in kern_ogetdirentries()
3922 int error; in freebsd11_getdirentries() local
3924 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in freebsd11_getdirentries()
3927 if (error == 0 && uap->basep != NULL) in freebsd11_getdirentries()
3928 error = copyout(&base, uap->basep, sizeof(long)); in freebsd11_getdirentries()
3929 return (error); in freebsd11_getdirentries()
3952 int error; in sys_getdirentries() local
3954 error = kern_getdirentries(td, uap->fd, uap->buf, uap->count, &base, in sys_getdirentries()
3956 if (error != 0) in sys_getdirentries()
3957 return (error); in sys_getdirentries()
3959 error = copyout(&base, uap->basep, sizeof(off_t)); in sys_getdirentries()
3960 return (error); in sys_getdirentries()
3972 int error, eofflag; in kern_getdirentries() local
3979 error = getvnode(td, fd, &cap_read_rights, &fp); in kern_getdirentries()
3980 if (error != 0) in kern_getdirentries()
3981 return (error); in kern_getdirentries()
3990 error = EINVAL; in kern_getdirentries()
4004 error = mac_vnode_check_readdir(td->td_ucred, vp); in kern_getdirentries()
4005 if (error == 0) in kern_getdirentries()
4007 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, in kern_getdirentries()
4010 if (error != 0) { in kern_getdirentries()
4035 return (error); in kern_getdirentries()
4074 int error; in sys_revoke() local
4078 if ((error = namei(&nd)) != 0) in sys_revoke()
4079 return (error); in sys_revoke()
4083 error = EINVAL; in sys_revoke()
4087 error = mac_vnode_check_revoke(td->td_ucred, vp); in sys_revoke()
4088 if (error != 0) in sys_revoke()
4091 error = VOP_GETATTR(vp, &vattr, td->td_ucred); in sys_revoke()
4092 if (error != 0) in sys_revoke()
4095 error = priv_check(td, PRIV_VFS_ADMIN); in sys_revoke()
4096 if (error != 0) in sys_revoke()
4103 return (error); in sys_revoke()
4115 int error; in getvnode() local
4117 error = fget_unlocked(td->td_proc->p_fd, fd, rightsp, &fp, NULL); in getvnode()
4118 if (error != 0) in getvnode()
4119 return (error); in getvnode()
4205 int error; in kern_getfhat() local
4207 error = priv_check(td, PRIV_VFS_GETFH); in kern_getfhat()
4208 if (error != 0) in kern_getfhat()
4209 return (error); in kern_getfhat()
4213 error = namei(&nd); in kern_getfhat()
4214 if (error != 0) in kern_getfhat()
4215 return (error); in kern_getfhat()
4220 error = VOP_VPTOFH(vp, &fh.fh_fid); in kern_getfhat()
4222 if (error == 0) in kern_getfhat()
4223 error = copyout(&fh, fhp, sizeof (fh)); in kern_getfhat()
4224 return (error); in kern_getfhat()
4261 int error; in kern_fhlinkat() local
4263 error = priv_check(td, PRIV_VFS_GETFH); in kern_fhlinkat()
4264 if (error != 0) in kern_fhlinkat()
4265 return (error); in kern_fhlinkat()
4266 error = copyin(fhp, &fh, sizeof(fh)); in kern_fhlinkat()
4267 if (error != 0) in kern_fhlinkat()
4268 return (error); in kern_fhlinkat()
4273 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in kern_fhlinkat()
4275 if (error != 0) in kern_fhlinkat()
4276 return (error); in kern_fhlinkat()
4278 } while ((error = kern_linkat_vp(td, vp, fd, path, pathseg)) == EAGAIN); in kern_fhlinkat()
4279 return (error); in kern_fhlinkat()
4295 int error; in sys_fhreadlink() local
4297 error = priv_check(td, PRIV_VFS_GETFH); in sys_fhreadlink()
4298 if (error != 0) in sys_fhreadlink()
4299 return (error); in sys_fhreadlink()
4302 error = copyin(uap->fhp, &fh, sizeof(fh)); in sys_fhreadlink()
4303 if (error != 0) in sys_fhreadlink()
4304 return (error); in sys_fhreadlink()
4307 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in sys_fhreadlink()
4309 if (error != 0) in sys_fhreadlink()
4310 return (error); in sys_fhreadlink()
4311 error = kern_readlink_vp(vp, uap->buf, UIO_USERSPACE, uap->bufsize, td); in sys_fhreadlink()
4313 return (error); in sys_fhreadlink()
4336 int fmode, error; in sys_fhopen() local
4339 error = priv_check(td, PRIV_VFS_FHOPEN); in sys_fhopen()
4340 if (error != 0) in sys_fhopen()
4341 return (error); in sys_fhopen()
4347 error = copyin(uap->u_fhp, &fhp, sizeof(fhp)); in sys_fhopen()
4348 if (error != 0) in sys_fhopen()
4349 return(error); in sys_fhopen()
4355 error = VFS_FHTOVP(mp, &fhp.fh_fid, LK_EXCLUSIVE, &vp); in sys_fhopen()
4357 if (error != 0) in sys_fhopen()
4358 return (error); in sys_fhopen()
4360 error = falloc_noinstall(td, &fp); in sys_fhopen()
4361 if (error != 0) { in sys_fhopen()
4363 return (error); in sys_fhopen()
4373 error = vn_open_vnode(vp, fmode, td->td_ucred, td, fp); in sys_fhopen()
4374 if (error != 0) { in sys_fhopen()
4392 error = fo_truncate(fp, 0, td->td_ucred, td); in sys_fhopen()
4393 if (error != 0) in sys_fhopen()
4397 error = finstall(td, fp, &indx, fmode, NULL); in sys_fhopen()
4401 return (error); in sys_fhopen()
4418 int error; in sys_fhstat() local
4420 error = copyin(uap->u_fhp, &fh, sizeof(fh)); in sys_fhstat()
4421 if (error != 0) in sys_fhstat()
4422 return (error); in sys_fhstat()
4423 error = kern_fhstat(td, fh, &sb); in sys_fhstat()
4424 if (error == 0) in sys_fhstat()
4425 error = copyout(&sb, uap->sb, sizeof(sb)); in sys_fhstat()
4426 return (error); in sys_fhstat()
4434 int error; in kern_fhstat() local
4436 error = priv_check(td, PRIV_VFS_FHSTAT); in kern_fhstat()
4437 if (error != 0) in kern_fhstat()
4438 return (error); in kern_fhstat()
4441 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstat()
4443 if (error != 0) in kern_fhstat()
4444 return (error); in kern_fhstat()
4445 error = vn_stat(vp, sb, td->td_ucred, NOCRED, td); in kern_fhstat()
4447 return (error); in kern_fhstat()
4464 int error; in sys_fhstatfs() local
4466 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in sys_fhstatfs()
4467 if (error != 0) in sys_fhstatfs()
4468 return (error); in sys_fhstatfs()
4470 error = kern_fhstatfs(td, fh, sfp); in sys_fhstatfs()
4471 if (error == 0) in sys_fhstatfs()
4472 error = copyout(sfp, uap->buf, sizeof(*sfp)); in sys_fhstatfs()
4474 return (error); in sys_fhstatfs()
4483 int error; in kern_fhstatfs() local
4485 error = priv_check(td, PRIV_VFS_FHSTATFS); in kern_fhstatfs()
4486 if (error != 0) in kern_fhstatfs()
4487 return (error); in kern_fhstatfs()
4490 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstatfs()
4491 if (error != 0) { in kern_fhstatfs()
4493 return (error); in kern_fhstatfs()
4496 error = prison_canseemount(td->td_ucred, mp); in kern_fhstatfs()
4497 if (error != 0) in kern_fhstatfs()
4500 error = mac_mount_check_stat(td->td_ucred, mp); in kern_fhstatfs()
4501 if (error != 0) in kern_fhstatfs()
4511 error = VFS_STATFS(mp, sp); in kern_fhstatfs()
4512 if (error == 0) in kern_fhstatfs()
4516 return (error); in kern_fhstatfs()
4526 int error; in kern_posix_fallocate() local
4538 error = fget(td, fd, &cap_pwrite_rights, &fp); in kern_posix_fallocate()
4539 if (error != 0) in kern_posix_fallocate()
4540 return (error); in kern_posix_fallocate()
4543 error = ESPIPE; in kern_posix_fallocate()
4547 error = EBADF; in kern_posix_fallocate()
4551 error = ENODEV; in kern_posix_fallocate()
4556 error = ENODEV; in kern_posix_fallocate()
4567 error = vn_start_write(vp, &mp, V_WAIT | PCATCH); in kern_posix_fallocate()
4568 if (error != 0) in kern_posix_fallocate()
4570 error = vn_lock(vp, LK_EXCLUSIVE); in kern_posix_fallocate()
4571 if (error != 0) { in kern_posix_fallocate()
4582 error = mac_vnode_check_write(td->td_ucred, fp->f_cred, vp); in kern_posix_fallocate()
4583 if (error == 0) in kern_posix_fallocate()
4585 error = VOP_ALLOCATE(vp, &offset, &len); in kern_posix_fallocate()
4593 if (error != 0 || len == 0) in kern_posix_fallocate()
4600 return (error); in kern_posix_fallocate()
4606 int error; in sys_posix_fallocate() local
4608 error = kern_posix_fallocate(td, uap->fd, uap->offset, uap->len); in sys_posix_fallocate()
4609 return (kern_posix_error(td, error)); in sys_posix_fallocate()
4626 int error; in kern_posix_fadvise() local
4647 error = fget(td, fd, &cap_no_rights, &fp); in kern_posix_fadvise()
4648 if (error != 0) in kern_posix_fadvise()
4652 error = ESPIPE; in kern_posix_fadvise()
4656 error = ENODEV; in kern_posix_fadvise()
4661 error = ENODEV; in kern_posix_fadvise()
4730 error = VOP_ADVISE(vp, offset, end, advice); in kern_posix_fadvise()
4737 return (error); in kern_posix_fadvise()
4743 int error; in sys_posix_fadvise() local
4745 error = kern_posix_fadvise(td, uap->fd, uap->offset, uap->len, in sys_posix_fadvise()
4747 return (kern_posix_error(td, error)); in sys_posix_fadvise()