Lines Matching refs:error
196 int error; in sys_quotactl() local
205 if ((error = namei(&nd)) != 0) in sys_quotactl()
206 return (error); in sys_quotactl()
211 error = vfs_busy(mp, 0); in sys_quotactl()
212 if (error != 0) { in sys_quotactl()
214 return (error); in sys_quotactl()
217 error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg, &mp_busy); in sys_quotactl()
233 return (error); in sys_quotactl()
280 int error; in kern_do_statfs() local
284 error = vfs_busy(mp, 0); in kern_do_statfs()
286 if (error != 0) in kern_do_statfs()
287 return (error); in kern_do_statfs()
289 error = mac_mount_check_stat(td->td_ucred, mp); in kern_do_statfs()
290 if (error != 0) in kern_do_statfs()
293 error = VFS_STATFS(mp, buf); in kern_do_statfs()
294 if (error != 0) in kern_do_statfs()
302 return (error); in kern_do_statfs()
318 int error; in sys_statfs() local
321 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in sys_statfs()
322 if (error == 0) in sys_statfs()
323 error = copyout(sfp, uap->buf, sizeof(struct statfs)); in sys_statfs()
325 return (error); in sys_statfs()
334 int error; in kern_statfs() local
337 error = namei(&nd); in kern_statfs()
338 if (error != 0) in kern_statfs()
339 return (error); in kern_statfs()
359 int error; in sys_fstatfs() local
362 error = kern_fstatfs(td, uap->fd, sfp); in sys_fstatfs()
363 if (error == 0) in sys_fstatfs()
364 error = copyout(sfp, uap->buf, sizeof(struct statfs)); in sys_fstatfs()
366 return (error); in sys_fstatfs()
375 int error; in kern_fstatfs() local
378 error = getvnode_path(td, fd, &cap_fstatfs_rights, &fp); in kern_fstatfs()
379 if (error != 0) in kern_fstatfs()
380 return (error); in kern_fstatfs()
408 int error; in sys_getfsstat() local
412 error = kern_getfsstat(td, &uap->buf, uap->bufsize, &count, in sys_getfsstat()
414 if (error == 0) in sys_getfsstat()
416 return (error); in sys_getfsstat()
431 int error; in kern_getfsstat() local
539 error = VFS_STATFS(mp, sp); in kern_getfsstat()
540 if (error != 0) { in kern_getfsstat()
560 error = copyout(sp, sfsp, sizeof(*sp)); in kern_getfsstat()
562 if (error != 0) { in kern_getfsstat()
564 return (error); in kern_getfsstat()
602 int error; in freebsd4_statfs() local
605 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in freebsd4_statfs()
606 if (error == 0) { in freebsd4_statfs()
608 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_statfs()
611 return (error); in freebsd4_statfs()
628 int error; in freebsd4_fstatfs() local
631 error = kern_fstatfs(td, uap->fd, sfp); in freebsd4_fstatfs()
632 if (error == 0) { in freebsd4_fstatfs()
634 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_fstatfs()
637 return (error); in freebsd4_fstatfs()
656 int error; in freebsd4_getfsstat() local
664 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, in freebsd4_getfsstat()
666 if (error == 0) in freebsd4_getfsstat()
670 while (count != 0 && error == 0) { in freebsd4_getfsstat()
672 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_getfsstat()
679 return (error); in freebsd4_getfsstat()
697 int error; in freebsd4_fhstatfs() local
699 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd4_fhstatfs()
700 if (error != 0) in freebsd4_fhstatfs()
701 return (error); in freebsd4_fhstatfs()
703 error = kern_fhstatfs(td, fh, sfp); in freebsd4_fhstatfs()
704 if (error == 0) { in freebsd4_fhstatfs()
706 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd4_fhstatfs()
709 return (error); in freebsd4_fhstatfs()
756 int error; in freebsd11_statfs() local
759 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in freebsd11_statfs()
760 if (error == 0) { in freebsd11_statfs()
762 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_statfs()
765 return (error); in freebsd11_statfs()
776 int error; in freebsd11_fstatfs() local
779 error = kern_fstatfs(td, uap->fd, sfp); in freebsd11_fstatfs()
780 if (error == 0) { in freebsd11_fstatfs()
782 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fstatfs()
785 return (error); in freebsd11_fstatfs()
804 int error; in kern_freebsd11_getfsstat() local
811 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, mode); in kern_freebsd11_getfsstat()
812 if (error == 0) in kern_freebsd11_getfsstat()
816 while (count > 0 && error == 0) { in kern_freebsd11_getfsstat()
818 error = copyout(&osb, ubuf, sizeof(osb)); in kern_freebsd11_getfsstat()
825 return (error); in kern_freebsd11_getfsstat()
837 int error; in freebsd11_fhstatfs() local
839 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstatfs()
840 if (error) in freebsd11_fhstatfs()
841 return (error); in freebsd11_fhstatfs()
843 error = kern_fhstatfs(td, fh, sfp); in freebsd11_fhstatfs()
844 if (error == 0) { in freebsd11_fhstatfs()
846 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fhstatfs()
849 return (error); in freebsd11_fhstatfs()
900 int error; in sys_fchdir() local
903 error = getvnode_path(td, uap->fd, &cap_fchdir_rights, in sys_fchdir()
905 if (error != 0) in sys_fchdir()
906 return (error); in sys_fchdir()
912 error = change_dir(vp, td); in sys_fchdir()
913 while (!error && (mp = vp->v_mountedhere) != NULL) { in sys_fchdir()
916 error = VFS_ROOT(mp, LK_SHARED, &tdp); in sys_fchdir()
918 if (error != 0) in sys_fchdir()
923 if (error != 0) { in sys_fchdir()
925 return (error); in sys_fchdir()
951 int error; in kern_chdir() local
955 if ((error = namei(&nd)) != 0) in kern_chdir()
956 return (error); in kern_chdir()
957 if ((error = change_dir(nd.ni_vp, td)) != 0) { in kern_chdir()
960 return (error); in kern_chdir()
985 int error; in sys_chroot() local
987 error = priv_check(td, PRIV_VFS_CHROOT); in sys_chroot()
988 if (error != 0) { in sys_chroot()
994 return (error); in sys_chroot()
1000 error = namei(&nd); in sys_chroot()
1001 if (error != 0) in sys_chroot()
1002 return (error); in sys_chroot()
1004 error = change_dir(nd.ni_vp, td); in sys_chroot()
1005 if (error != 0) in sys_chroot()
1008 error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp); in sys_chroot()
1009 if (error != 0) in sys_chroot()
1013 error = pwd_chroot(td, nd.ni_vp); in sys_chroot()
1015 return (error); in sys_chroot()
1018 return (error); in sys_chroot()
1029 int error; in change_dir() local
1036 error = mac_vnode_check_chdir(td->td_ucred, vp); in change_dir()
1037 if (error != 0) in change_dir()
1038 return (error); in change_dir()
1132 int cmode, error, indx; in openatfp() local
1164 error = falloc_noinstall(td, &fp); in openatfp()
1165 if (error != 0) in openatfp()
1166 return (error); in openatfp()
1173 error = vn_open_cred(&nd, &flags, cmode, VN_OPEN_WANTIOCTLCAPS, in openatfp()
1175 if (error != 0) { in openatfp()
1181 if (error == ENXIO && fp->f_ops != &badfileops) { in openatfp()
1194 (error == ENODEV || error == ENXIO) && in openatfp()
1197 error = dupfdopen(td, fdp, td->td_dupfd, flags, error, in openatfp()
1199 if (error == 0) in openatfp()
1233 error = fo_truncate(fp, 0, td->td_ucred, td); in openatfp()
1234 if (error != 0) in openatfp()
1239 MPASS(error == 0); in openatfp()
1255 error = finstall_refed(td, fp, &indx, flags, fcaps); in openatfp()
1257 if (error != 0) { in openatfp()
1271 return (error); in openatfp()
1285 int error, old_dupfd; in kern_openatfp() local
1289 error = openatfp(td, dirfd, path, pathseg, flags, mode, fpp); in kern_openatfp()
1291 return (error); in kern_openatfp()
1360 int error, whiteout = 0; in kern_mknodat() local
1367 error = priv_check(td, PRIV_VFS_MKNOD_DEV); in kern_mknodat()
1368 if (error == 0 && dev == VNOVAL) in kern_mknodat()
1369 error = EINVAL; in kern_mknodat()
1372 error = priv_check(td, PRIV_VFS_MKNOD_WHT); in kern_mknodat()
1379 error = EINVAL; in kern_mknodat()
1382 if (error != 0) in kern_mknodat()
1383 return (error); in kern_mknodat()
1389 if ((error = namei(&nd)) != 0) in kern_mknodat()
1390 return (error); in kern_mknodat()
1424 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in kern_mknodat()
1425 return (error); in kern_mknodat()
1429 if (error == 0 && !whiteout) in kern_mknodat()
1430 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, in kern_mknodat()
1433 if (error == 0) { in kern_mknodat()
1435 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); in kern_mknodat()
1437 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, in kern_mknodat()
1441 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 && !whiteout ? &nd.ni_vp : NULL, in kern_mknodat()
1445 if (error == ERELOOKUP) in kern_mknodat()
1447 return (error); in kern_mknodat()
1489 int error; in kern_mkfifoat() local
1497 if ((error = namei(&nd)) != 0) in kern_mkfifoat()
1498 return (error); in kern_mkfifoat()
1511 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in kern_mkfifoat()
1512 return (error); in kern_mkfifoat()
1519 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkfifoat()
1521 if (error != 0) in kern_mkfifoat()
1524 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkfifoat()
1528 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_mkfifoat()
1531 if (error == ERELOOKUP) in kern_mkfifoat()
1533 return (error); in kern_mkfifoat()
1585 int error; in can_hardlink() local
1590 error = VOP_GETATTR(vp, &va, cred); in can_hardlink()
1591 if (error != 0) in can_hardlink()
1592 return (error); in can_hardlink()
1595 error = priv_check_cred(cred, PRIV_VFS_LINK); in can_hardlink()
1596 if (error != 0) in can_hardlink()
1597 return (error); in can_hardlink()
1601 error = priv_check_cred(cred, PRIV_VFS_LINK); in can_hardlink()
1602 if (error != 0) in can_hardlink()
1603 return (error); in can_hardlink()
1614 int error; in kern_linkat() local
1626 if ((error = namei(&nd)) != 0) in kern_linkat()
1627 return (error); in kern_linkat()
1630 error = priv_check(td, PRIV_VFS_FHOPEN); in kern_linkat()
1631 if (error != 0) { in kern_linkat()
1633 return (error); in kern_linkat()
1636 error = kern_linkat_vp(td, nd.ni_vp, fd2, path2, segflag); in kern_linkat()
1637 } while (error == EAGAIN || error == ERELOOKUP); in kern_linkat()
1638 return (error); in kern_linkat()
1647 int error; in kern_linkat_vp() local
1656 if ((error = namei(&nd)) == 0) { in kern_linkat_vp()
1677 error = can_hardlink(vp, td->td_ucred); in kern_linkat_vp()
1679 if (error == 0) in kern_linkat_vp()
1680 error = mac_vnode_check_link(td->td_ucred, in kern_linkat_vp()
1683 if (error != 0) { in kern_linkat_vp()
1687 return (error); in kern_linkat_vp()
1689 error = vn_start_write(vp, &mp, V_NOWAIT); in kern_linkat_vp()
1690 if (error != 0) { in kern_linkat_vp()
1694 error = vn_start_write(NULL, &mp, in kern_linkat_vp()
1696 if (error != 0) in kern_linkat_vp()
1697 return (error); in kern_linkat_vp()
1700 error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); in kern_linkat_vp()
1714 return (error); in kern_linkat_vp()
1758 int error; in kern_symlinkat() local
1764 if ((error = copyinstr(path1, tmppath, MAXPATHLEN, NULL)) != 0) in kern_symlinkat()
1774 if ((error = namei(&nd)) != 0) in kern_symlinkat()
1784 error = EEXIST; in kern_symlinkat()
1790 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in kern_symlinkat()
1798 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_symlinkat()
1800 if (error != 0) in kern_symlinkat()
1803 error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); in kern_symlinkat()
1807 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_symlinkat()
1810 if (error == ERELOOKUP) in kern_symlinkat()
1815 return (error); in kern_symlinkat()
1831 int error; in sys_undelete() local
1838 error = namei(&nd); in sys_undelete()
1839 if (error != 0) in sys_undelete()
1840 return (error); in sys_undelete()
1855 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in sys_undelete()
1856 return (error); in sys_undelete()
1859 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE); in sys_undelete()
1863 if (error == ERELOOKUP) in sys_undelete()
1865 return (error); in sys_undelete()
1938 int error; in kern_funlinkat() local
1942 error = getvnode_path(td, fd, &cap_no_rights, &fp); in kern_funlinkat()
1943 if (error != 0) in kern_funlinkat()
1944 return (error); in kern_funlinkat()
1953 if ((error = namei(&nd)) != 0) { in kern_funlinkat()
1954 if (error == EINVAL) in kern_funlinkat()
1955 error = EPERM; in kern_funlinkat()
1960 error = EPERM; /* POSIX */ in kern_funlinkat()
1962 ((error = VOP_STAT(vp, &sb, td->td_ucred, NOCRED)) == 0) && in kern_funlinkat()
1964 error = EIDRM; /* Identifier removed */ in kern_funlinkat()
1967 error = EBADF; in kern_funlinkat()
1969 error = EDEADLK; in kern_funlinkat()
1977 error = EBUSY; in kern_funlinkat()
1979 if (error == 0) { in kern_funlinkat()
1987 if ((error = vn_start_write(NULL, &mp, in kern_funlinkat()
1994 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_funlinkat()
1996 if (error != 0) in kern_funlinkat()
2000 error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); in kern_funlinkat()
2012 if (error == ERELOOKUP) in kern_funlinkat()
2017 return (error); in kern_funlinkat()
2042 int error; in kern_lseek() local
2045 error = fget(td, fd, &cap_seek_rights, &fp); in kern_lseek()
2046 if (error != 0) in kern_lseek()
2047 return (error); in kern_lseek()
2048 error = (fp->f_ops->fo_flags & DFLAG_SEEKABLE) != 0 ? in kern_lseek()
2051 return (error); in kern_lseek()
2091 int error; in vn_access() local
2105 error = mac_vnode_check_access(cred, vp, accmode); in vn_access()
2106 if (error != 0) in vn_access()
2107 return (error); in vn_access()
2109 if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0) in vn_access()
2110 error = VOP_ACCESS(vp, accmode, cred, td); in vn_access()
2111 return (error); in vn_access()
2154 int error; in kern_accessat() local
2180 if ((error = namei(&nd)) != 0) in kern_accessat()
2184 error = vn_access(vp, amode, usecred, td); in kern_accessat()
2192 return (error); in kern_accessat()
2227 int error; in ostat() local
2229 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); in ostat()
2230 if (error != 0) in ostat()
2231 return (error); in ostat()
2250 int error; in olstat() local
2252 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in olstat()
2254 if (error != 0) in olstat()
2255 return (error); in olstat()
2369 int error; in freebsd11_stat() local
2371 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); in freebsd11_stat()
2372 if (error != 0) in freebsd11_stat()
2373 return (error); in freebsd11_stat()
2374 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_stat()
2375 if (error == 0) in freebsd11_stat()
2376 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_stat()
2377 return (error); in freebsd11_stat()
2385 int error; in freebsd11_lstat() local
2387 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_lstat()
2389 if (error != 0) in freebsd11_lstat()
2390 return (error); in freebsd11_lstat()
2391 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_lstat()
2392 if (error == 0) in freebsd11_lstat()
2393 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_lstat()
2394 return (error); in freebsd11_lstat()
2403 int error; in freebsd11_fhstat() local
2405 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstat()
2406 if (error != 0) in freebsd11_fhstat()
2407 return (error); in freebsd11_fhstat()
2408 error = kern_fhstat(td, fh, &sb); in freebsd11_fhstat()
2409 if (error != 0) in freebsd11_fhstat()
2410 return (error); in freebsd11_fhstat()
2411 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fhstat()
2412 if (error == 0) in freebsd11_fhstat()
2413 error = copyout(&osb, uap->sb, sizeof(osb)); in freebsd11_fhstat()
2414 return (error); in freebsd11_fhstat()
2422 int error; in freebsd11_fstatat() local
2424 error = kern_statat(td, uap->flag, uap->fd, uap->path, in freebsd11_fstatat()
2426 if (error != 0) in freebsd11_fstatat()
2427 return (error); in freebsd11_fstatat()
2428 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fstatat()
2429 if (error == 0) in freebsd11_fstatat()
2430 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fstatat()
2431 return (error); in freebsd11_fstatat()
2450 int error; in sys_fstatat() local
2452 error = kern_statat(td, uap->flag, uap->fd, uap->path, in sys_fstatat()
2454 if (error == 0) in sys_fstatat()
2455 error = copyout(&sb, uap->buf, sizeof (sb)); in sys_fstatat()
2456 return (error); in sys_fstatat()
2464 int error; in kern_statat() local
2474 if ((error = namei(&nd)) != 0) { in kern_statat()
2475 if (error == ENOTDIR && in kern_statat()
2477 error = kern_fstat(td, fd, sbp); in kern_statat()
2478 return (error); in kern_statat()
2480 error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED); in kern_statat()
2491 ktrstat_error(sbp, error); in kern_statat()
2493 return (error); in kern_statat()
2504 int error; in freebsd11_cvtnstat() local
2506 error = freebsd11_cvtstat(sb, &sb11); in freebsd11_cvtnstat()
2507 if (error != 0) in freebsd11_cvtnstat()
2508 return (error); in freebsd11_cvtnstat()
2541 int error; in freebsd11_nstat() local
2543 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, &sb); in freebsd11_nstat()
2544 if (error != 0) in freebsd11_nstat()
2545 return (error); in freebsd11_nstat()
2546 error = freebsd11_cvtnstat(&sb, &nsb); in freebsd11_nstat()
2547 if (error == 0) in freebsd11_nstat()
2548 error = copyout(&nsb, uap->ub, sizeof (nsb)); in freebsd11_nstat()
2549 return (error); in freebsd11_nstat()
2566 int error; in freebsd11_nlstat() local
2568 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_nlstat()
2570 if (error != 0) in freebsd11_nlstat()
2571 return (error); in freebsd11_nlstat()
2572 error = freebsd11_cvtnstat(&sb, &nsb); in freebsd11_nlstat()
2573 if (error == 0) in freebsd11_nlstat()
2574 error = copyout(&nsb, uap->ub, sizeof (nsb)); in freebsd11_nlstat()
2575 return (error); in freebsd11_nlstat()
2592 int error; in sys_pathconf() local
2594 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, FOLLOW, in sys_pathconf()
2596 if (error == 0) in sys_pathconf()
2598 return (error); in sys_pathconf()
2611 int error; in sys_lpathconf() local
2613 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, in sys_lpathconf()
2615 if (error == 0) in sys_lpathconf()
2617 return (error); in sys_lpathconf()
2625 int error; in kern_pathconf() local
2629 if ((error = namei(&nd)) != 0) in kern_pathconf()
2630 return (error); in kern_pathconf()
2633 error = VOP_PATHCONF(nd.ni_vp, name, valuep); in kern_pathconf()
2635 return (error); in kern_pathconf()
2677 int error; in kern_readlinkat() local
2685 if ((error = namei(&nd)) != 0) in kern_readlinkat()
2686 return (error); in kern_readlinkat()
2690 error = kern_readlink_vp(vp, buf, bufseg, count, td); in kern_readlinkat()
2693 return (error); in kern_readlinkat()
2705 int error; in kern_readlink_vp() local
2709 error = mac_vnode_check_readlink(td->td_ucred, vp); in kern_readlink_vp()
2710 if (error != 0) in kern_readlink_vp()
2711 return (error); in kern_readlink_vp()
2725 error = VOP_READLINK(vp, &auio, td->td_ucred); in kern_readlink_vp()
2727 return (error); in kern_readlink_vp()
2738 int error; in setfflags() local
2751 error = priv_check(td, PRIV_VFS_CHFLAGS_DEV); in setfflags()
2752 if (error != 0) in setfflags()
2753 return (error); in setfflags()
2756 if ((error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH)) != 0) in setfflags()
2757 return (error); in setfflags()
2762 error = mac_vnode_check_setflags(td->td_ucred, vp, vattr.va_flags); in setfflags()
2763 if (error == 0) in setfflags()
2765 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setfflags()
2768 return (error); in setfflags()
2826 int error; in kern_chflagsat() local
2836 if ((error = namei(&nd)) != 0) in kern_chflagsat()
2837 return (error); in kern_chflagsat()
2839 error = setfflags(td, nd.ni_vp, flags); in kern_chflagsat()
2841 return (error); in kern_chflagsat()
2857 int error; in sys_fchflags() local
2861 error = getvnode(td, uap->fd, &cap_fchflags_rights, in sys_fchflags()
2863 if (error != 0) in sys_fchflags()
2864 return (error); in sys_fchflags()
2872 error = setfflags(td, fp->f_vnode, uap->flags); in sys_fchflags()
2874 return (error); in sys_fchflags()
2885 int error; in setfmode() local
2887 if ((error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH)) != 0) in setfmode()
2888 return (error); in setfmode()
2893 error = mac_vnode_check_setmode(cred, vp, vattr.va_mode); in setfmode()
2894 if (error == 0) in setfmode()
2896 error = VOP_SETATTR(vp, &vattr, cred); in setfmode()
2899 return (error); in setfmode()
2957 int error; in kern_fchmodat() local
2967 if ((error = namei(&nd)) != 0) in kern_fchmodat()
2968 return (error); in kern_fchmodat()
2970 error = setfmode(td, td->td_ucred, nd.ni_vp, mode); in kern_fchmodat()
2972 return (error); in kern_fchmodat()
2988 int error; in sys_fchmod() local
2993 error = fget(td, uap->fd, &cap_fchmod_rights, &fp); in sys_fchmod()
2994 if (error != 0) in sys_fchmod()
2995 return (error); in sys_fchmod()
2996 error = fo_chmod(fp, uap->mode, td->td_ucred, td); in sys_fchmod()
2998 return (error); in sys_fchmod()
3010 int error; in setfown() local
3012 if ((error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH)) != 0) in setfown()
3013 return (error); in setfown()
3019 error = mac_vnode_check_setowner(cred, vp, vattr.va_uid, in setfown()
3021 if (error == 0) in setfown()
3023 error = VOP_SETATTR(vp, &vattr, cred); in setfown()
3026 return (error); in setfown()
3069 int error; in kern_fchownat() local
3080 if ((error = namei(&nd)) != 0) in kern_fchownat()
3081 return (error); in kern_fchownat()
3083 error = setfown(td, td->td_ucred, nd.ni_vp, uid, gid); in kern_fchownat()
3085 return (error); in kern_fchownat()
3120 int error; in sys_fchown() local
3124 error = fget(td, uap->fd, &cap_fchown_rights, &fp); in sys_fchown()
3125 if (error != 0) in sys_fchown()
3126 return (error); in sys_fchown()
3127 error = fo_chown(fp, uap->uid, uap->gid, td->td_ucred, td); in sys_fchown()
3129 return (error); in sys_fchown()
3141 int error; in getutimes() local
3150 if ((error = copyin(usrtvp, tv, sizeof(tv))) != 0) in getutimes()
3151 return (error); in getutimes()
3174 int error; in getutimens() local
3187 } else if ((error = copyin(usrtsp, tsp, sizeof(*tsp) * 2)) != 0) in getutimens()
3188 return (error); in getutimens()
3219 int error; in setutimes() local
3226 if ((error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH)) != 0) in setutimes()
3227 return (error); in setutimes()
3242 error = mac_vnode_check_setutimes(td->td_ucred, vp, vattr.va_atime, in setutimes()
3245 if (error == 0) in setutimes()
3246 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setutimes()
3249 return (error); in setutimes()
3290 int error; in kern_utimesat() local
3292 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_utimesat()
3293 return (error); in kern_utimesat()
3297 if ((error = namei(&nd)) != 0) in kern_utimesat()
3298 return (error); in kern_utimesat()
3300 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_utimesat()
3302 return (error); in kern_utimesat()
3328 int error; in kern_lutimes() local
3330 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_lutimes()
3331 return (error); in kern_lutimes()
3333 if ((error = namei(&nd)) != 0) in kern_lutimes()
3334 return (error); in kern_lutimes()
3336 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_lutimes()
3338 return (error); in kern_lutimes()
3363 int error; in kern_futimes() local
3366 error = getutimes(tptr, tptrseg, ts); in kern_futimes()
3367 if (error != 0) in kern_futimes()
3368 return (error); in kern_futimes()
3369 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimes()
3370 if (error != 0) in kern_futimes()
3371 return (error); in kern_futimes()
3379 error = setutimes(td, fp->f_vnode, ts, 2, tptr == NULL); in kern_futimes()
3381 return (error); in kern_futimes()
3397 int error, flags; in kern_futimens() local
3400 error = getutimens(tptr, tptrseg, ts, &flags); in kern_futimens()
3401 if (error != 0) in kern_futimens()
3402 return (error); in kern_futimens()
3405 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimens()
3406 if (error != 0) in kern_futimens()
3407 return (error); in kern_futimens()
3415 error = setutimes(td, fp->f_vnode, ts, 2, flags & UTIMENS_NULL); in kern_futimens()
3417 return (error); in kern_futimens()
3435 int error, flags; in kern_utimensat() local
3441 if ((error = getutimens(tptr, tptrseg, ts, &flags)) != 0) in kern_utimensat()
3442 return (error); in kern_utimensat()
3446 if ((error = namei(&nd)) != 0) in kern_utimensat()
3447 return (error); in kern_utimensat()
3456 error = setutimes(td, nd.ni_vp, ts, 2, flags & UTIMENS_NULL); in kern_utimensat()
3458 return (error); in kern_utimensat()
3486 int error; in kern_truncate() local
3493 if ((error = namei(&nd)) != 0) in kern_truncate()
3494 return (error); in kern_truncate()
3498 if ((error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH)) != 0) { in kern_truncate()
3501 return (error); in kern_truncate()
3505 error = EISDIR; in kern_truncate()
3509 error = mac_vnode_check_write(td->td_ucred, NOCRED, vp); in kern_truncate()
3510 if (error != 0) in kern_truncate()
3513 error = VOP_ACCESS(vp, VWRITE, td->td_ucred, td); in kern_truncate()
3514 if (error != 0) in kern_truncate()
3517 error = vn_truncate_locked(vp, length, false, td->td_ucred); in kern_truncate()
3523 if (error == ERELOOKUP) in kern_truncate()
3525 return (error); in kern_truncate()
3569 int error; in kern_fsync() local
3572 error = getvnode(td, fd, &cap_fsync_rights, &fp); in kern_fsync()
3573 if (error != 0) in kern_fsync()
3574 return (error); in kern_fsync()
3581 error = vn_start_write(vp, &mp, V_WAIT | V_PCATCH); in kern_fsync()
3582 if (error != 0) in kern_fsync()
3587 error = fullsync ? VOP_FSYNC(vp, MNT_WAIT, td) : VOP_FDATASYNC(vp, td); in kern_fsync()
3590 if (error == ERELOOKUP) in kern_fsync()
3594 return (error); in kern_fsync()
3658 int error; in kern_renameat_mac() local
3662 if ((error = namei(fromnd)) != 0) in kern_renameat_mac()
3663 return (error); in kern_renameat_mac()
3664 error = mac_vnode_check_rename_from(td->td_ucred, fromnd->ni_dvp, in kern_renameat_mac()
3669 if (error != 0) { in kern_renameat_mac()
3674 return (error); in kern_renameat_mac()
3686 int error; in kern_renameat() local
3692 error = kern_renameat_mac(td, oldfd, old, newfd, new, pathseg, in kern_renameat()
3694 if (error != 0) in kern_renameat()
3695 return (error); in kern_renameat()
3700 if ((error = namei(&fromnd)) != 0) in kern_renameat()
3701 return (error); in kern_renameat()
3711 if ((error = namei(&tond)) != 0) { in kern_renameat()
3713 if (error == EISDIR && fvp->v_type == VDIR) in kern_renameat()
3714 error = EINVAL; in kern_renameat()
3722 error = vn_start_write(fvp, &mp, V_NOWAIT); in kern_renameat()
3723 if (error != 0) { in kern_renameat()
3734 error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH); in kern_renameat()
3735 if (error != 0) in kern_renameat()
3736 return (error); in kern_renameat()
3741 error = ENOTDIR; in kern_renameat()
3744 error = EISDIR; in kern_renameat()
3753 error = cap_check(&tond.ni_filecaps.fc_rights, in kern_renameat()
3755 if (error != 0) in kern_renameat()
3761 error = EINVAL; in kern_renameat()
3769 error = ERESTART; in kern_renameat()
3772 error = mac_vnode_check_rename_to(td->td_ucred, tdvp, in kern_renameat()
3776 if (error == 0) { in kern_renameat()
3777 error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd, in kern_renameat()
3795 if (error == ERESTART) in kern_renameat()
3797 if (error == ERELOOKUP) in kern_renameat()
3799 return (error); in kern_renameat()
3840 int error; in kern_mkdirat() local
3849 if ((error = namei(&nd)) != 0) in kern_mkdirat()
3850 return (error); in kern_mkdirat()
3854 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in kern_mkdirat()
3855 return (error); in kern_mkdirat()
3862 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkdirat()
3864 if (error != 0) in kern_mkdirat()
3867 error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkdirat()
3872 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_mkdirat()
3874 if (error == ERELOOKUP) in kern_mkdirat()
3876 return (error); in kern_mkdirat()
3904 int error; in kern_frmdirat() local
3908 error = getvnode(td, fd, cap_rights_init_one(&rights, in kern_frmdirat()
3910 if (error != 0) in kern_frmdirat()
3911 return (error); in kern_frmdirat()
3920 if ((error = namei(&nd)) != 0) in kern_frmdirat()
3924 error = ENOTDIR; in kern_frmdirat()
3931 error = EINVAL; in kern_frmdirat()
3938 error = EBUSY; in kern_frmdirat()
3944 error = EBADF; in kern_frmdirat()
3946 error = EDEADLK; in kern_frmdirat()
3951 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_frmdirat()
3953 if (error != 0) in kern_frmdirat()
3963 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | V_PCATCH)) != 0) in kern_frmdirat()
3968 error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); in kern_frmdirat()
3977 if (error == ERELOOKUP) in kern_frmdirat()
3982 return (error); in kern_frmdirat()
3995 int error; in freebsd11_kern_getdirentries() local
4002 error = kern_getdirentries(td, fd, dirbuf, count, &base, &resid, in freebsd11_kern_getdirentries()
4004 if (error != 0) in freebsd11_kern_getdirentries()
4027 error = EOVERFLOW; in freebsd11_kern_getdirentries()
4044 error = copyout(&dstdp, ubuf + ucount, dstdp.d_reclen); in freebsd11_kern_getdirentries()
4045 if (error != 0) in freebsd11_kern_getdirentries()
4053 if (error == 0) in freebsd11_kern_getdirentries()
4055 return (error); in freebsd11_kern_getdirentries()
4094 int error; in ogetdirentries() local
4096 error = kern_ogetdirentries(td, uap, &loff); in ogetdirentries()
4097 if (error == 0) in ogetdirentries()
4098 error = copyout(&loff, uap->basep, sizeof(long)); in ogetdirentries()
4099 return (error); in ogetdirentries()
4107 int error; in kern_ogetdirentries() local
4113 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in kern_ogetdirentries()
4116 if (error == 0 && uap->basep != NULL) in kern_ogetdirentries()
4117 error = copyout(&base, uap->basep, sizeof(long)); in kern_ogetdirentries()
4119 return (error); in kern_ogetdirentries()
4137 int error; in freebsd11_getdirentries() local
4139 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in freebsd11_getdirentries()
4142 if (error == 0 && uap->basep != NULL) in freebsd11_getdirentries()
4143 error = copyout(&base, uap->basep, sizeof(long)); in freebsd11_getdirentries()
4144 return (error); in freebsd11_getdirentries()
4167 int error; in sys_getdirentries() local
4169 error = kern_getdirentries(td, uap->fd, uap->buf, uap->count, &base, in sys_getdirentries()
4171 if (error != 0) in sys_getdirentries()
4172 return (error); in sys_getdirentries()
4174 error = copyout(&base, uap->basep, sizeof(off_t)); in sys_getdirentries()
4175 return (error); in sys_getdirentries()
4187 int error, eofflag; in kern_getdirentries() local
4194 error = getvnode(td, fd, &cap_read_rights, &fp); in kern_getdirentries()
4195 if (error != 0) in kern_getdirentries()
4196 return (error); in kern_getdirentries()
4205 error = EINVAL; in kern_getdirentries()
4209 error = ENOENT; in kern_getdirentries()
4223 error = mac_vnode_check_readdir(td->td_ucred, vp); in kern_getdirentries()
4224 if (error == 0) in kern_getdirentries()
4226 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, in kern_getdirentries()
4229 if (error != 0) { in kern_getdirentries()
4253 return (error); in kern_getdirentries()
4292 int error; in sys_revoke() local
4296 if ((error = namei(&nd)) != 0) in sys_revoke()
4297 return (error); in sys_revoke()
4301 error = EINVAL; in sys_revoke()
4305 error = mac_vnode_check_revoke(td->td_ucred, vp); in sys_revoke()
4306 if (error != 0) in sys_revoke()
4309 error = VOP_GETATTR(vp, &vattr, td->td_ucred); in sys_revoke()
4310 if (error != 0) in sys_revoke()
4313 error = priv_check(td, PRIV_VFS_ADMIN); in sys_revoke()
4314 if (error != 0) in sys_revoke()
4321 return (error); in sys_revoke()
4334 int error; in getvnode_path() local
4336 error = fget_unlocked(td, fd, rightsp, &fp); in getvnode_path()
4337 if (error != 0) in getvnode_path()
4338 return (error); in getvnode_path()
4370 int error; in getvnode() local
4372 error = getvnode_path(td, fd, rightsp, fpp); in getvnode()
4373 if (__predict_false(error != 0)) in getvnode()
4374 return (error); in getvnode()
4383 error = EBADF; in getvnode()
4386 return (error); in getvnode()
4450 int error; in kern_getfhat() local
4454 error = priv_check(td, PRIV_VFS_GETFH); in kern_getfhat()
4455 if (error != 0) in kern_getfhat()
4456 return (error); in kern_getfhat()
4460 error = namei(&nd); in kern_getfhat()
4461 if (error != 0) in kern_getfhat()
4462 return (error); in kern_getfhat()
4467 error = VOP_VPTOFH(vp, &fh.fh_fid); in kern_getfhat()
4469 if (error == 0) { in kern_getfhat()
4471 error = copyout(&fh, fhp, sizeof (fh)); in kern_getfhat()
4475 return (error); in kern_getfhat()
4512 int error; in kern_fhlinkat() local
4514 error = priv_check(td, PRIV_VFS_GETFH); in kern_fhlinkat()
4515 if (error != 0) in kern_fhlinkat()
4516 return (error); in kern_fhlinkat()
4517 error = copyin(fhp, &fh, sizeof(fh)); in kern_fhlinkat()
4518 if (error != 0) in kern_fhlinkat()
4519 return (error); in kern_fhlinkat()
4524 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in kern_fhlinkat()
4526 if (error != 0) in kern_fhlinkat()
4527 return (error); in kern_fhlinkat()
4529 error = kern_linkat_vp(td, vp, fd, path, pathseg); in kern_fhlinkat()
4530 } while (error == EAGAIN || error == ERELOOKUP); in kern_fhlinkat()
4531 return (error); in kern_fhlinkat()
4547 int error; in sys_fhreadlink() local
4549 error = priv_check(td, PRIV_VFS_GETFH); in sys_fhreadlink()
4550 if (error != 0) in sys_fhreadlink()
4551 return (error); in sys_fhreadlink()
4554 error = copyin(uap->fhp, &fh, sizeof(fh)); in sys_fhreadlink()
4555 if (error != 0) in sys_fhreadlink()
4556 return (error); in sys_fhreadlink()
4559 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in sys_fhreadlink()
4561 if (error != 0) in sys_fhreadlink()
4562 return (error); in sys_fhreadlink()
4563 error = kern_readlink_vp(vp, uap->buf, UIO_USERSPACE, uap->bufsize, td); in sys_fhreadlink()
4565 return (error); in sys_fhreadlink()
4594 int fmode, error; in kern_fhopen() local
4597 error = priv_check(td, PRIV_VFS_FHOPEN); in kern_fhopen()
4598 if (error != 0) in kern_fhopen()
4599 return (error); in kern_fhopen()
4605 error = copyin(u_fhp, &fhp, sizeof(fhp)); in kern_fhopen()
4606 if (error != 0) in kern_fhopen()
4607 return(error); in kern_fhopen()
4613 error = VFS_FHTOVP(mp, &fhp.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhopen()
4615 if (error != 0) in kern_fhopen()
4616 return (error); in kern_fhopen()
4618 error = falloc_noinstall(td, &fp); in kern_fhopen()
4619 if (error != 0) { in kern_fhopen()
4621 return (error); in kern_fhopen()
4631 error = vn_open_vnode(vp, fmode, td->td_ucred, td, fp); in kern_fhopen()
4632 if (error != 0) { in kern_fhopen()
4648 error = fo_truncate(fp, 0, td->td_ucred, td); in kern_fhopen()
4649 if (error != 0) in kern_fhopen()
4653 error = finstall(td, fp, &indx, fmode, NULL); in kern_fhopen()
4657 return (error); in kern_fhopen()
4674 int error; in sys_fhstat() local
4676 error = copyin(uap->u_fhp, &fh, sizeof(fh)); in sys_fhstat()
4677 if (error != 0) in sys_fhstat()
4678 return (error); in sys_fhstat()
4679 error = kern_fhstat(td, fh, &sb); in sys_fhstat()
4680 if (error == 0) in sys_fhstat()
4681 error = copyout(&sb, uap->sb, sizeof(sb)); in sys_fhstat()
4682 return (error); in sys_fhstat()
4690 int error; in kern_fhstat() local
4692 error = priv_check(td, PRIV_VFS_FHSTAT); in kern_fhstat()
4693 if (error != 0) in kern_fhstat()
4694 return (error); in kern_fhstat()
4697 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstat()
4699 if (error != 0) in kern_fhstat()
4700 return (error); in kern_fhstat()
4701 error = VOP_STAT(vp, sb, td->td_ucred, NOCRED); in kern_fhstat()
4703 return (error); in kern_fhstat()
4720 int error; in sys_fhstatfs() local
4722 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in sys_fhstatfs()
4723 if (error != 0) in sys_fhstatfs()
4724 return (error); in sys_fhstatfs()
4726 error = kern_fhstatfs(td, fh, sfp); in sys_fhstatfs()
4727 if (error == 0) in sys_fhstatfs()
4728 error = copyout(sfp, uap->buf, sizeof(*sfp)); in sys_fhstatfs()
4730 return (error); in sys_fhstatfs()
4738 int error; in kern_fhstatfs() local
4740 error = priv_check(td, PRIV_VFS_FHSTATFS); in kern_fhstatfs()
4741 if (error != 0) in kern_fhstatfs()
4742 return (error); in kern_fhstatfs()
4745 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstatfs()
4746 if (error != 0) { in kern_fhstatfs()
4748 return (error); in kern_fhstatfs()
4751 error = prison_canseemount(td->td_ucred, mp); in kern_fhstatfs()
4752 if (error != 0) in kern_fhstatfs()
4755 error = mac_mount_check_stat(td->td_ucred, mp); in kern_fhstatfs()
4756 if (error != 0) in kern_fhstatfs()
4759 error = VFS_STATFS(mp, buf); in kern_fhstatfs()
4762 return (error); in kern_fhstatfs()
4779 int error; in kern_posix_fadvise() local
4800 error = fget(td, fd, &cap_no_rights, &fp); in kern_posix_fadvise()
4801 if (error != 0) in kern_posix_fadvise()
4805 error = ESPIPE; in kern_posix_fadvise()
4809 error = ENODEV; in kern_posix_fadvise()
4814 error = ENODEV; in kern_posix_fadvise()
4883 error = VOP_ADVISE(vp, offset, end, advice); in kern_posix_fadvise()
4890 return (error); in kern_posix_fadvise()
4896 int error; in sys_posix_fadvise() local
4898 error = kern_posix_fadvise(td, uap->fd, uap->offset, uap->len, in sys_posix_fadvise()
4900 return (kern_posix_error(td, error)); in sys_posix_fadvise()
4909 int error; in kern_copy_file_range() local
4917 error = 0; in kern_copy_file_range()
4921 error = EINVAL; in kern_copy_file_range()
4933 error = fget_read(td, infd, in kern_copy_file_range()
4935 if (error != 0) in kern_copy_file_range()
4938 error = EBADF; in kern_copy_file_range()
4942 error = EINVAL; in kern_copy_file_range()
4945 error = fget_write(td, outfd, in kern_copy_file_range()
4947 if (error != 0) in kern_copy_file_range()
4950 error = EBADF; in kern_copy_file_range()
4954 error = EINVAL; in kern_copy_file_range()
4971 error = EBADF; in kern_copy_file_range()
4986 error = EINVAL; in kern_copy_file_range()
5004 error = vn_copy_file_range(invp, inoffp, outvp, outoffp, &retlen, in kern_copy_file_range()
5011 if (savinoff != -1 && (error == EINTR || error == ERESTART)) { in kern_copy_file_range()
5020 return (error); in kern_copy_file_range()
5027 int error; in sys_copy_file_range() local
5031 error = copyin(uap->inoffp, &inoff, sizeof(off_t)); in sys_copy_file_range()
5032 if (error != 0) in sys_copy_file_range()
5033 return (error); in sys_copy_file_range()
5037 error = copyin(uap->outoffp, &outoff, sizeof(off_t)); in sys_copy_file_range()
5038 if (error != 0) in sys_copy_file_range()
5039 return (error); in sys_copy_file_range()
5042 error = kern_copy_file_range(td, uap->infd, inoffp, uap->outfd, in sys_copy_file_range()
5044 if (error == 0 && uap->inoffp != NULL) in sys_copy_file_range()
5045 error = copyout(inoffp, uap->inoffp, sizeof(off_t)); in sys_copy_file_range()
5046 if (error == 0 && uap->outoffp != NULL) in sys_copy_file_range()
5047 error = copyout(outoffp, uap->outoffp, sizeof(off_t)); in sys_copy_file_range()
5048 return (error); in sys_copy_file_range()