Lines Matching refs:error

195 	int error;  in sys_quotactl()  local
203 if ((error = namei(&nd)) != 0) in sys_quotactl()
204 return (error); in sys_quotactl()
209 error = vfs_busy(mp, 0); in sys_quotactl()
210 if (error != 0) { in sys_quotactl()
212 return (error); in sys_quotactl()
214 error = VFS_QUOTACTL(mp, uap->cmd, uap->uid, uap->arg); in sys_quotactl()
231 return (error); in sys_quotactl()
278 int error; in kern_do_statfs() local
282 error = vfs_busy(mp, 0); in kern_do_statfs()
284 if (error != 0) in kern_do_statfs()
285 return (error); in kern_do_statfs()
287 error = mac_mount_check_stat(td->td_ucred, mp); in kern_do_statfs()
288 if (error != 0) in kern_do_statfs()
291 error = VFS_STATFS(mp, buf); in kern_do_statfs()
292 if (error != 0) in kern_do_statfs()
300 return (error); in kern_do_statfs()
316 int error; in sys_statfs() local
319 error = kern_statfs(td, uap->path, UIO_USERSPACE, sfp); in sys_statfs()
320 if (error == 0) in sys_statfs()
321 error = copyout(sfp, uap->buf, sizeof(struct statfs)); in sys_statfs()
323 return (error); in sys_statfs()
332 int error; in kern_statfs() local
336 error = namei(&nd); in kern_statfs()
337 if (error != 0) in kern_statfs()
338 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(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()
797 int error; in freebsd11_getfsstat() local
801 error = kern_getfsstat(td, &buf, size, &count, UIO_SYSSPACE, in freebsd11_getfsstat()
803 if (error == 0) in freebsd11_getfsstat()
807 while (count > 0 && error == 0) { in freebsd11_getfsstat()
809 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_getfsstat()
816 return (error); in freebsd11_getfsstat()
828 int error; in freebsd11_fhstatfs() local
830 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstatfs()
831 if (error) in freebsd11_fhstatfs()
832 return (error); in freebsd11_fhstatfs()
834 error = kern_fhstatfs(td, fh, sfp); in freebsd11_fhstatfs()
835 if (error == 0) { in freebsd11_fhstatfs()
837 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fhstatfs()
840 return (error); in freebsd11_fhstatfs()
891 int error; in sys_fchdir() local
894 error = getvnode(td, uap->fd, &cap_fchdir_rights, in sys_fchdir()
896 if (error != 0) in sys_fchdir()
897 return (error); in sys_fchdir()
903 error = change_dir(vp, td); in sys_fchdir()
904 while (!error && (mp = vp->v_mountedhere) != NULL) { in sys_fchdir()
907 error = VFS_ROOT(mp, LK_SHARED, &tdp); in sys_fchdir()
909 if (error != 0) in sys_fchdir()
914 if (error != 0) { in sys_fchdir()
916 return (error); in sys_fchdir()
942 int error; in kern_chdir() local
946 if ((error = namei(&nd)) != 0) in kern_chdir()
947 return (error); in kern_chdir()
948 if ((error = change_dir(nd.ni_vp, td)) != 0) { in kern_chdir()
951 return (error); in kern_chdir()
971 int error; in sys_chroot() local
973 error = priv_check(td, PRIV_VFS_CHROOT); in sys_chroot()
974 if (error != 0) in sys_chroot()
975 return (error); in sys_chroot()
978 error = namei(&nd); in sys_chroot()
979 if (error != 0) in sys_chroot()
980 goto error; in sys_chroot()
981 error = change_dir(nd.ni_vp, td); in sys_chroot()
982 if (error != 0) in sys_chroot()
985 error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp); in sys_chroot()
986 if (error != 0) in sys_chroot()
990 error = pwd_chroot(td, nd.ni_vp); in sys_chroot()
993 return (error); in sys_chroot()
996 error: in sys_chroot()
998 return (error); in sys_chroot()
1009 int error; in change_dir() local
1016 error = mac_vnode_check_chdir(td->td_ucred, vp); in change_dir()
1017 if (error != 0) in change_dir()
1018 return (error); in change_dir()
1105 int cmode, error, indx; in kern_openat() local
1132 error = falloc_noinstall(td, &fp); in kern_openat()
1133 if (error != 0) in kern_openat()
1134 return (error); in kern_openat()
1141 error = vn_open(&nd, &flags, cmode, fp); in kern_openat()
1142 if (error != 0) { in kern_openat()
1148 if (error == ENXIO && fp->f_ops != &badfileops) in kern_openat()
1159 (error == ENODEV || error == ENXIO) && in kern_openat()
1161 error = dupfdopen(td, fdp, td->td_dupfd, flags, error, in kern_openat()
1163 if (error == 0) in kern_openat()
1191 error = fo_truncate(fp, 0, td->td_ucred, td); in kern_openat()
1192 if (error != 0) in kern_openat()
1208 error = finstall_refed(td, fp, &indx, flags, fcaps); in kern_openat()
1210 if (error != 0) { in kern_openat()
1224 return (error); in kern_openat()
1293 int error, whiteout = 0; in kern_mknodat() local
1300 error = priv_check(td, PRIV_VFS_MKNOD_DEV); in kern_mknodat()
1301 if (error == 0 && dev == VNOVAL) in kern_mknodat()
1302 error = EINVAL; in kern_mknodat()
1305 error = priv_check(td, PRIV_VFS_MKNOD_WHT); in kern_mknodat()
1312 error = EINVAL; in kern_mknodat()
1315 if (error != 0) in kern_mknodat()
1316 return (error); in kern_mknodat()
1322 if ((error = namei(&nd)) != 0) in kern_mknodat()
1323 return (error); in kern_mknodat()
1357 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mknodat()
1358 return (error); in kern_mknodat()
1362 if (error == 0 && !whiteout) in kern_mknodat()
1363 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, in kern_mknodat()
1366 if (error == 0) { in kern_mknodat()
1368 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); in kern_mknodat()
1370 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, in kern_mknodat()
1374 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 && !whiteout ? &nd.ni_vp : NULL, in kern_mknodat()
1378 if (error == ERELOOKUP) in kern_mknodat()
1380 return (error); in kern_mknodat()
1422 int error; in kern_mkfifoat() local
1430 if ((error = namei(&nd)) != 0) in kern_mkfifoat()
1431 return (error); in kern_mkfifoat()
1444 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkfifoat()
1445 return (error); in kern_mkfifoat()
1452 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkfifoat()
1454 if (error != 0) in kern_mkfifoat()
1457 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkfifoat()
1461 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_mkfifoat()
1464 if (error == ERELOOKUP) in kern_mkfifoat()
1466 return (error); in kern_mkfifoat()
1524 int error; in can_hardlink() local
1529 error = VOP_GETATTR(vp, &va, cred); in can_hardlink()
1530 if (error != 0) in can_hardlink()
1531 return (error); in can_hardlink()
1534 error = priv_check_cred(cred, PRIV_VFS_LINK); in can_hardlink()
1535 if (error != 0) in can_hardlink()
1536 return (error); in can_hardlink()
1540 error = priv_check_cred(cred, PRIV_VFS_LINK); in can_hardlink()
1541 if (error != 0) in can_hardlink()
1542 return (error); in can_hardlink()
1553 int error; in kern_linkat() local
1559 if ((error = namei(&nd)) != 0) in kern_linkat()
1560 return (error); in kern_linkat()
1562 error = kern_linkat_vp(td, nd.ni_vp, fd2, path2, segflag); in kern_linkat()
1563 } while (error == EAGAIN || error == ERELOOKUP); in kern_linkat()
1564 return (error); in kern_linkat()
1573 int error; in kern_linkat_vp() local
1582 if ((error = namei(&nd)) == 0) { in kern_linkat_vp()
1602 } else if ((error = vn_lock(vp, LK_EXCLUSIVE)) == 0) { in kern_linkat_vp()
1603 error = can_hardlink(vp, td->td_ucred); in kern_linkat_vp()
1605 if (error == 0) in kern_linkat_vp()
1606 error = mac_vnode_check_link(td->td_ucred, in kern_linkat_vp()
1609 if (error != 0) { in kern_linkat_vp()
1613 return (error); in kern_linkat_vp()
1615 error = vn_start_write(vp, &mp, V_NOWAIT); in kern_linkat_vp()
1616 if (error != 0) { in kern_linkat_vp()
1620 error = vn_start_write(NULL, &mp, in kern_linkat_vp()
1622 if (error != 0) in kern_linkat_vp()
1623 return (error); in kern_linkat_vp()
1626 error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); in kern_linkat_vp()
1640 return (error); in kern_linkat_vp()
1684 int error; in kern_symlinkat() local
1690 if ((error = copyinstr(path1, tmppath, MAXPATHLEN, NULL)) != 0) in kern_symlinkat()
1700 if ((error = namei(&nd)) != 0) in kern_symlinkat()
1710 error = EEXIST; in kern_symlinkat()
1716 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_symlinkat()
1724 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_symlinkat()
1726 if (error != 0) in kern_symlinkat()
1729 error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath); in kern_symlinkat()
1733 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_symlinkat()
1736 if (error == ERELOOKUP) in kern_symlinkat()
1741 return (error); in kern_symlinkat()
1757 int error; in sys_undelete() local
1763 error = namei(&nd); in sys_undelete()
1764 if (error != 0) in sys_undelete()
1765 return (error); in sys_undelete()
1780 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in sys_undelete()
1781 return (error); in sys_undelete()
1784 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE); in sys_undelete()
1788 if (error == ERELOOKUP) in sys_undelete()
1790 return (error); in sys_undelete()
1863 int error; in kern_funlinkat() local
1867 error = getvnode(td, fd, &cap_no_rights, &fp); in kern_funlinkat()
1868 if (error != 0) in kern_funlinkat()
1869 return (error); in kern_funlinkat()
1877 if ((error = namei(&nd)) != 0) { in kern_funlinkat()
1878 if (error == EINVAL) in kern_funlinkat()
1879 error = EPERM; in kern_funlinkat()
1884 error = EPERM; /* POSIX */ in kern_funlinkat()
1886 ((error = VOP_STAT(vp, &sb, td->td_ucred, NOCRED, td)) == 0) && in kern_funlinkat()
1888 error = EIDRM; /* Identifier removed */ in kern_funlinkat()
1891 error = EBADF; in kern_funlinkat()
1893 error = EDEADLK; in kern_funlinkat()
1901 error = EBUSY; in kern_funlinkat()
1903 if (error == 0) { in kern_funlinkat()
1911 if ((error = vn_start_write(NULL, &mp, in kern_funlinkat()
1918 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_funlinkat()
1920 if (error != 0) in kern_funlinkat()
1924 error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd); in kern_funlinkat()
1936 if (error == ERELOOKUP) in kern_funlinkat()
1941 return (error); in kern_funlinkat()
1966 int error; in kern_lseek() local
1969 error = fget(td, fd, &cap_seek_rights, &fp); in kern_lseek()
1970 if (error != 0) in kern_lseek()
1971 return (error); in kern_lseek()
1972 error = (fp->f_ops->fo_flags & DFLAG_SEEKABLE) != 0 ? in kern_lseek()
1975 return (error); in kern_lseek()
2015 int error; in vn_access() local
2029 error = mac_vnode_check_access(cred, vp, accmode); in vn_access()
2030 if (error != 0) in vn_access()
2031 return (error); in vn_access()
2033 if ((accmode & VWRITE) == 0 || (error = vn_writechk(vp)) == 0) in vn_access()
2034 error = VOP_ACCESS(vp, accmode, cred, td); in vn_access()
2035 return (error); in vn_access()
2078 int error; in kern_accessat() local
2103 if ((error = namei(&nd)) != 0) in kern_accessat()
2107 error = vn_access(vp, amode, usecred, td); in kern_accessat()
2115 return (error); in kern_accessat()
2150 int error; in ostat() local
2152 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in ostat()
2154 if (error != 0) in ostat()
2155 return (error); in ostat()
2174 int error; in olstat() local
2176 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in olstat()
2178 if (error != 0) in olstat()
2179 return (error); in olstat()
2293 int error; in freebsd11_stat() local
2295 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in freebsd11_stat()
2297 if (error != 0) in freebsd11_stat()
2298 return (error); in freebsd11_stat()
2299 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_stat()
2300 if (error == 0) in freebsd11_stat()
2301 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_stat()
2302 return (error); in freebsd11_stat()
2310 int error; in freebsd11_lstat() local
2312 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_lstat()
2314 if (error != 0) in freebsd11_lstat()
2315 return (error); in freebsd11_lstat()
2316 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_lstat()
2317 if (error == 0) in freebsd11_lstat()
2318 error = copyout(&osb, uap->ub, sizeof(osb)); in freebsd11_lstat()
2319 return (error); in freebsd11_lstat()
2328 int error; in freebsd11_fhstat() local
2330 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in freebsd11_fhstat()
2331 if (error != 0) in freebsd11_fhstat()
2332 return (error); in freebsd11_fhstat()
2333 error = kern_fhstat(td, fh, &sb); in freebsd11_fhstat()
2334 if (error != 0) in freebsd11_fhstat()
2335 return (error); in freebsd11_fhstat()
2336 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fhstat()
2337 if (error == 0) in freebsd11_fhstat()
2338 error = copyout(&osb, uap->sb, sizeof(osb)); in freebsd11_fhstat()
2339 return (error); in freebsd11_fhstat()
2347 int error; in freebsd11_fstatat() local
2349 error = kern_statat(td, uap->flag, uap->fd, uap->path, in freebsd11_fstatat()
2351 if (error != 0) in freebsd11_fstatat()
2352 return (error); in freebsd11_fstatat()
2353 error = freebsd11_cvtstat(&sb, &osb); in freebsd11_fstatat()
2354 if (error == 0) in freebsd11_fstatat()
2355 error = copyout(&osb, uap->buf, sizeof(osb)); in freebsd11_fstatat()
2356 return (error); in freebsd11_fstatat()
2375 int error; in sys_fstatat() local
2377 error = kern_statat(td, uap->flag, uap->fd, uap->path, in sys_fstatat()
2379 if (error == 0) in sys_fstatat()
2380 error = copyout(&sb, uap->buf, sizeof (sb)); in sys_fstatat()
2381 return (error); in sys_fstatat()
2390 int error; in kern_statat() local
2399 if ((error = namei(&nd)) != 0) in kern_statat()
2400 return (error); in kern_statat()
2401 error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED, td); in kern_statat()
2402 if (error == 0) { in kern_statat()
2416 ktrstat_error(sbp, error); in kern_statat()
2418 return (error); in kern_statat()
2459 int error; in freebsd11_nstat() local
2461 error = kern_statat(td, 0, AT_FDCWD, uap->path, UIO_USERSPACE, in freebsd11_nstat()
2463 if (error != 0) in freebsd11_nstat()
2464 return (error); in freebsd11_nstat()
2483 int error; in freebsd11_nlstat() local
2485 error = kern_statat(td, AT_SYMLINK_NOFOLLOW, AT_FDCWD, uap->path, in freebsd11_nlstat()
2487 if (error != 0) in freebsd11_nlstat()
2488 return (error); in freebsd11_nlstat()
2507 int error; in sys_pathconf() local
2509 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, FOLLOW, in sys_pathconf()
2511 if (error == 0) in sys_pathconf()
2513 return (error); in sys_pathconf()
2526 int error; in sys_lpathconf() local
2528 error = kern_pathconf(td, uap->path, UIO_USERSPACE, uap->name, in sys_lpathconf()
2530 if (error == 0) in sys_lpathconf()
2532 return (error); in sys_lpathconf()
2540 int error; in kern_pathconf() local
2544 if ((error = namei(&nd)) != 0) in kern_pathconf()
2545 return (error); in kern_pathconf()
2548 error = VOP_PATHCONF(nd.ni_vp, name, valuep); in kern_pathconf()
2550 return (error); in kern_pathconf()
2592 int error; in kern_readlinkat() local
2600 if ((error = namei(&nd)) != 0) in kern_readlinkat()
2601 return (error); in kern_readlinkat()
2605 error = kern_readlink_vp(vp, buf, bufseg, count, td); in kern_readlinkat()
2608 return (error); in kern_readlinkat()
2620 int error; in kern_readlink_vp() local
2624 error = mac_vnode_check_readlink(td->td_ucred, vp); in kern_readlink_vp()
2625 if (error != 0) in kern_readlink_vp()
2626 return (error); in kern_readlink_vp()
2640 error = VOP_READLINK(vp, &auio, td->td_ucred); in kern_readlink_vp()
2642 return (error); in kern_readlink_vp()
2653 int error; in setfflags() local
2666 error = priv_check(td, PRIV_VFS_CHFLAGS_DEV); in setfflags()
2667 if (error != 0) in setfflags()
2668 return (error); in setfflags()
2671 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfflags()
2672 return (error); in setfflags()
2677 error = mac_vnode_check_setflags(td->td_ucred, vp, vattr.va_flags); in setfflags()
2678 if (error == 0) in setfflags()
2680 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setfflags()
2683 return (error); in setfflags()
2744 int error; in kern_chflagsat() local
2750 if ((error = namei(&nd)) != 0) in kern_chflagsat()
2751 return (error); in kern_chflagsat()
2753 error = setfflags(td, nd.ni_vp, flags); in kern_chflagsat()
2755 return (error); in kern_chflagsat()
2771 int error; in sys_fchflags() local
2775 error = getvnode(td, uap->fd, &cap_fchflags_rights, in sys_fchflags()
2777 if (error != 0) in sys_fchflags()
2778 return (error); in sys_fchflags()
2784 error = setfflags(td, fp->f_vnode, uap->flags); in sys_fchflags()
2786 return (error); in sys_fchflags()
2797 int error; in setfmode() local
2799 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfmode()
2800 return (error); in setfmode()
2805 error = mac_vnode_check_setmode(cred, vp, vattr.va_mode); in setfmode()
2806 if (error == 0) in setfmode()
2808 error = VOP_SETATTR(vp, &vattr, cred); in setfmode()
2811 return (error); in setfmode()
2872 int error; in kern_fchmodat() local
2878 if ((error = namei(&nd)) != 0) in kern_fchmodat()
2879 return (error); in kern_fchmodat()
2881 error = setfmode(td, td->td_ucred, nd.ni_vp, mode); in kern_fchmodat()
2883 return (error); in kern_fchmodat()
2899 int error; in sys_fchmod() local
2904 error = fget(td, uap->fd, &cap_fchmod_rights, &fp); in sys_fchmod()
2905 if (error != 0) in sys_fchmod()
2906 return (error); in sys_fchmod()
2907 error = fo_chmod(fp, uap->mode, td->td_ucred, td); in sys_fchmod()
2909 return (error); in sys_fchmod()
2921 int error; in setfown() local
2923 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setfown()
2924 return (error); in setfown()
2930 error = mac_vnode_check_setowner(cred, vp, vattr.va_uid, in setfown()
2932 if (error == 0) in setfown()
2934 error = VOP_SETATTR(vp, &vattr, cred); in setfown()
2937 return (error); in setfown()
2983 int error; in kern_fchownat() local
2990 if ((error = namei(&nd)) != 0) in kern_fchownat()
2991 return (error); in kern_fchownat()
2993 error = setfown(td, td->td_ucred, nd.ni_vp, uid, gid); in kern_fchownat()
2995 return (error); in kern_fchownat()
3030 int error; in sys_fchown() local
3034 error = fget(td, uap->fd, &cap_fchown_rights, &fp); in sys_fchown()
3035 if (error != 0) in sys_fchown()
3036 return (error); in sys_fchown()
3037 error = fo_chown(fp, uap->uid, uap->gid, td->td_ucred, td); in sys_fchown()
3039 return (error); in sys_fchown()
3051 int error; in getutimes() local
3060 if ((error = copyin(usrtvp, tv, sizeof(tv))) != 0) in getutimes()
3061 return (error); in getutimes()
3084 int error; in getutimens() local
3097 } else if ((error = copyin(usrtsp, tsp, sizeof(*tsp) * 2)) != 0) in getutimens()
3098 return (error); in getutimens()
3129 int error, setbirthtime; in setutimes() local
3131 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) in setutimes()
3132 return (error); in setutimes()
3148 error = mac_vnode_check_setutimes(td->td_ucred, vp, vattr.va_atime, in setutimes()
3151 if (error == 0) in setutimes()
3152 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in setutimes()
3155 return (error); in setutimes()
3196 int error; in kern_utimesat() local
3198 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_utimesat()
3199 return (error); in kern_utimesat()
3203 if ((error = namei(&nd)) != 0) in kern_utimesat()
3204 return (error); in kern_utimesat()
3206 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_utimesat()
3208 return (error); in kern_utimesat()
3234 int error; in kern_lutimes() local
3236 if ((error = getutimes(tptr, tptrseg, ts)) != 0) in kern_lutimes()
3237 return (error); in kern_lutimes()
3239 if ((error = namei(&nd)) != 0) in kern_lutimes()
3240 return (error); in kern_lutimes()
3242 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL); in kern_lutimes()
3244 return (error); in kern_lutimes()
3269 int error; in kern_futimes() local
3272 error = getutimes(tptr, tptrseg, ts); in kern_futimes()
3273 if (error != 0) in kern_futimes()
3274 return (error); in kern_futimes()
3275 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimes()
3276 if (error != 0) in kern_futimes()
3277 return (error); in kern_futimes()
3283 error = setutimes(td, fp->f_vnode, ts, 2, tptr == NULL); in kern_futimes()
3285 return (error); in kern_futimes()
3301 int error, flags; in kern_futimens() local
3304 error = getutimens(tptr, tptrseg, ts, &flags); in kern_futimens()
3305 if (error != 0) in kern_futimens()
3306 return (error); in kern_futimens()
3309 error = getvnode(td, fd, &cap_futimes_rights, &fp); in kern_futimens()
3310 if (error != 0) in kern_futimens()
3311 return (error); in kern_futimens()
3317 error = setutimes(td, fp->f_vnode, ts, 2, flags & UTIMENS_NULL); in kern_futimens()
3319 return (error); in kern_futimens()
3337 int error, flags; in kern_utimensat() local
3342 if ((error = getutimens(tptr, tptrseg, ts, &flags)) != 0) in kern_utimensat()
3343 return (error); in kern_utimensat()
3347 if ((error = namei(&nd)) != 0) in kern_utimensat()
3348 return (error); in kern_utimensat()
3357 error = setutimes(td, nd.ni_vp, ts, 2, flags & UTIMENS_NULL); in kern_utimensat()
3359 return (error); in kern_utimensat()
3388 int error; in kern_truncate() local
3394 if ((error = namei(&nd)) != 0) in kern_truncate()
3395 return (error); in kern_truncate()
3398 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) { in kern_truncate()
3401 return (error); in kern_truncate()
3406 error = EISDIR; in kern_truncate()
3408 else if ((error = mac_vnode_check_write(td->td_ucred, NOCRED, vp))) { in kern_truncate()
3411 else if ((error = vn_writechk(vp)) == 0 && in kern_truncate()
3412 (error = VOP_ACCESS(vp, VWRITE, td->td_ucred, td)) == 0) { in kern_truncate()
3415 error = VOP_SETATTR(vp, &vattr, td->td_ucred); in kern_truncate()
3421 if (error == ERELOOKUP) in kern_truncate()
3423 return (error); in kern_truncate()
3467 int error, lock_flags; in kern_fsync() local
3470 error = getvnode(td, fd, &cap_fsync_rights, &fp); in kern_fsync()
3471 if (error != 0) in kern_fsync()
3472 return (error); in kern_fsync()
3479 error = vn_start_write(vp, &mp, V_WAIT | PCATCH); in kern_fsync()
3480 if (error != 0) in kern_fsync()
3495 error = fullsync ? VOP_FSYNC(vp, MNT_WAIT, td) : VOP_FDATASYNC(vp, td); in kern_fsync()
3498 if (error == ERELOOKUP) in kern_fsync()
3502 return (error); in kern_fsync()
3566 int error; in kern_renameat_mac() local
3570 if ((error = namei(fromnd)) != 0) in kern_renameat_mac()
3571 return (error); in kern_renameat_mac()
3572 error = mac_vnode_check_rename_from(td->td_ucred, fromnd->ni_dvp, in kern_renameat_mac()
3577 if (error != 0) { in kern_renameat_mac()
3584 return (error); in kern_renameat_mac()
3596 int error; in kern_renameat() local
3602 error = kern_renameat_mac(td, oldfd, old, newfd, new, pathseg, in kern_renameat()
3604 if (error != 0) in kern_renameat()
3605 return (error); in kern_renameat()
3610 if ((error = namei(&fromnd)) != 0) in kern_renameat()
3611 return (error); in kern_renameat()
3621 if ((error = namei(&tond)) != 0) { in kern_renameat()
3623 if (error == EISDIR && fvp->v_type == VDIR) in kern_renameat()
3624 error = EINVAL; in kern_renameat()
3632 error = vn_start_write(fvp, &mp, V_NOWAIT); in kern_renameat()
3633 if (error != 0) { in kern_renameat()
3647 error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH); in kern_renameat()
3648 if (error != 0) in kern_renameat()
3649 return (error); in kern_renameat()
3654 error = ENOTDIR; in kern_renameat()
3657 error = EISDIR; in kern_renameat()
3666 error = cap_check(&tond.ni_filecaps.fc_rights, in kern_renameat()
3668 if (error != 0) in kern_renameat()
3674 error = EINVAL; in kern_renameat()
3682 error = ERESTART; in kern_renameat()
3685 error = mac_vnode_check_rename_to(td->td_ucred, tdvp, in kern_renameat()
3689 if (error == 0) { in kern_renameat()
3690 error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd, in kern_renameat()
3711 if (error == ERESTART) in kern_renameat()
3713 if (error == ERELOOKUP) in kern_renameat()
3715 return (error); in kern_renameat()
3756 int error; in kern_mkdirat() local
3764 if ((error = namei(&nd)) != 0) in kern_mkdirat()
3765 return (error); in kern_mkdirat()
3769 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_mkdirat()
3770 return (error); in kern_mkdirat()
3777 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd, in kern_mkdirat()
3779 if (error != 0) in kern_mkdirat()
3782 error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); in kern_mkdirat()
3787 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true); in kern_mkdirat()
3789 if (error == ERELOOKUP) in kern_mkdirat()
3791 return (error); in kern_mkdirat()
3819 int error; in kern_frmdirat() local
3823 error = getvnode(td, fd, cap_rights_init_one(&rights, CAP_LOOKUP), in kern_frmdirat()
3825 if (error != 0) in kern_frmdirat()
3826 return (error); in kern_frmdirat()
3834 if ((error = namei(&nd)) != 0) in kern_frmdirat()
3838 error = ENOTDIR; in kern_frmdirat()
3845 error = EINVAL; in kern_frmdirat()
3852 error = EBUSY; in kern_frmdirat()
3858 error = EBADF; in kern_frmdirat()
3860 error = EDEADLK; in kern_frmdirat()
3865 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp, in kern_frmdirat()
3867 if (error != 0) in kern_frmdirat()
3877 if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) in kern_frmdirat()
3882 error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd); in kern_frmdirat()
3891 if (error == ERELOOKUP) in kern_frmdirat()
3896 return (error); in kern_frmdirat()
3909 int error; in freebsd11_kern_getdirentries() local
3916 error = kern_getdirentries(td, fd, dirbuf, count, &base, &resid, in freebsd11_kern_getdirentries()
3918 if (error != 0) in freebsd11_kern_getdirentries()
3941 error = EOVERFLOW; in freebsd11_kern_getdirentries()
3958 error = copyout(&dstdp, ubuf + ucount, dstdp.d_reclen); in freebsd11_kern_getdirentries()
3959 if (error != 0) in freebsd11_kern_getdirentries()
3967 if (error == 0) in freebsd11_kern_getdirentries()
3969 return (error); in freebsd11_kern_getdirentries()
4008 int error; in ogetdirentries() local
4010 error = kern_ogetdirentries(td, uap, &loff); in ogetdirentries()
4011 if (error == 0) in ogetdirentries()
4012 error = copyout(&loff, uap->basep, sizeof(long)); in ogetdirentries()
4013 return (error); in ogetdirentries()
4021 int error; in kern_ogetdirentries() local
4027 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in kern_ogetdirentries()
4030 if (error == 0 && uap->basep != NULL) in kern_ogetdirentries()
4031 error = copyout(&base, uap->basep, sizeof(long)); in kern_ogetdirentries()
4033 return (error); in kern_ogetdirentries()
4051 int error; in freebsd11_getdirentries() local
4053 error = freebsd11_kern_getdirentries(td, uap->fd, uap->buf, uap->count, in freebsd11_getdirentries()
4056 if (error == 0 && uap->basep != NULL) in freebsd11_getdirentries()
4057 error = copyout(&base, uap->basep, sizeof(long)); in freebsd11_getdirentries()
4058 return (error); in freebsd11_getdirentries()
4081 int error; in sys_getdirentries() local
4083 error = kern_getdirentries(td, uap->fd, uap->buf, uap->count, &base, in sys_getdirentries()
4085 if (error != 0) in sys_getdirentries()
4086 return (error); in sys_getdirentries()
4088 error = copyout(&base, uap->basep, sizeof(off_t)); in sys_getdirentries()
4089 return (error); in sys_getdirentries()
4101 int error, eofflag; in kern_getdirentries() local
4108 error = getvnode(td, fd, &cap_read_rights, &fp); in kern_getdirentries()
4109 if (error != 0) in kern_getdirentries()
4110 return (error); in kern_getdirentries()
4119 error = EINVAL; in kern_getdirentries()
4133 error = mac_vnode_check_readdir(td->td_ucred, vp); in kern_getdirentries()
4134 if (error == 0) in kern_getdirentries()
4136 error = VOP_READDIR(vp, &auio, fp->f_cred, &eofflag, NULL, in kern_getdirentries()
4139 if (error != 0) { in kern_getdirentries()
4163 return (error); in kern_getdirentries()
4202 int error; in sys_revoke() local
4206 if ((error = namei(&nd)) != 0) in sys_revoke()
4207 return (error); in sys_revoke()
4211 error = EINVAL; in sys_revoke()
4215 error = mac_vnode_check_revoke(td->td_ucred, vp); in sys_revoke()
4216 if (error != 0) in sys_revoke()
4219 error = VOP_GETATTR(vp, &vattr, td->td_ucred); in sys_revoke()
4220 if (error != 0) in sys_revoke()
4223 error = priv_check(td, PRIV_VFS_ADMIN); in sys_revoke()
4224 if (error != 0) in sys_revoke()
4231 return (error); in sys_revoke()
4243 int error; in getvnode() local
4245 error = fget_unlocked(td->td_proc->p_fd, fd, rightsp, &fp); in getvnode()
4246 if (error != 0) in getvnode()
4247 return (error); in getvnode()
4332 int error; in kern_getfhat() local
4334 error = priv_check(td, PRIV_VFS_GETFH); in kern_getfhat()
4335 if (error != 0) in kern_getfhat()
4336 return (error); in kern_getfhat()
4340 error = namei(&nd); in kern_getfhat()
4341 if (error != 0) in kern_getfhat()
4342 return (error); in kern_getfhat()
4347 error = VOP_VPTOFH(vp, &fh.fh_fid); in kern_getfhat()
4349 if (error == 0) { in kern_getfhat()
4351 error = copyout(&fh, fhp, sizeof (fh)); in kern_getfhat()
4355 return (error); in kern_getfhat()
4392 int error; in kern_fhlinkat() local
4394 error = priv_check(td, PRIV_VFS_GETFH); in kern_fhlinkat()
4395 if (error != 0) in kern_fhlinkat()
4396 return (error); in kern_fhlinkat()
4397 error = copyin(fhp, &fh, sizeof(fh)); in kern_fhlinkat()
4398 if (error != 0) in kern_fhlinkat()
4399 return (error); in kern_fhlinkat()
4404 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in kern_fhlinkat()
4406 if (error != 0) in kern_fhlinkat()
4407 return (error); in kern_fhlinkat()
4409 error = kern_linkat_vp(td, vp, fd, path, pathseg); in kern_fhlinkat()
4410 } while (error == EAGAIN || error == ERELOOKUP); in kern_fhlinkat()
4411 return (error); in kern_fhlinkat()
4427 int error; in sys_fhreadlink() local
4429 error = priv_check(td, PRIV_VFS_GETFH); in sys_fhreadlink()
4430 if (error != 0) in sys_fhreadlink()
4431 return (error); in sys_fhreadlink()
4434 error = copyin(uap->fhp, &fh, sizeof(fh)); in sys_fhreadlink()
4435 if (error != 0) in sys_fhreadlink()
4436 return (error); in sys_fhreadlink()
4439 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_SHARED, &vp); in sys_fhreadlink()
4441 if (error != 0) in sys_fhreadlink()
4442 return (error); in sys_fhreadlink()
4443 error = kern_readlink_vp(vp, uap->buf, UIO_USERSPACE, uap->bufsize, td); in sys_fhreadlink()
4445 return (error); in sys_fhreadlink()
4474 int fmode, error; in kern_fhopen() local
4477 error = priv_check(td, PRIV_VFS_FHOPEN); in kern_fhopen()
4478 if (error != 0) in kern_fhopen()
4479 return (error); in kern_fhopen()
4485 error = copyin(u_fhp, &fhp, sizeof(fhp)); in kern_fhopen()
4486 if (error != 0) in kern_fhopen()
4487 return(error); in kern_fhopen()
4493 error = VFS_FHTOVP(mp, &fhp.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhopen()
4495 if (error != 0) in kern_fhopen()
4496 return (error); in kern_fhopen()
4498 error = falloc_noinstall(td, &fp); in kern_fhopen()
4499 if (error != 0) { in kern_fhopen()
4501 return (error); in kern_fhopen()
4511 error = vn_open_vnode(vp, fmode, td->td_ucred, td, fp); in kern_fhopen()
4512 if (error != 0) { in kern_fhopen()
4528 error = fo_truncate(fp, 0, td->td_ucred, td); in kern_fhopen()
4529 if (error != 0) in kern_fhopen()
4533 error = finstall(td, fp, &indx, fmode, NULL); in kern_fhopen()
4537 return (error); in kern_fhopen()
4554 int error; in sys_fhstat() local
4556 error = copyin(uap->u_fhp, &fh, sizeof(fh)); in sys_fhstat()
4557 if (error != 0) in sys_fhstat()
4558 return (error); in sys_fhstat()
4559 error = kern_fhstat(td, fh, &sb); in sys_fhstat()
4560 if (error == 0) in sys_fhstat()
4561 error = copyout(&sb, uap->sb, sizeof(sb)); in sys_fhstat()
4562 return (error); in sys_fhstat()
4570 int error; in kern_fhstat() local
4572 error = priv_check(td, PRIV_VFS_FHSTAT); in kern_fhstat()
4573 if (error != 0) in kern_fhstat()
4574 return (error); in kern_fhstat()
4577 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstat()
4579 if (error != 0) in kern_fhstat()
4580 return (error); in kern_fhstat()
4581 error = VOP_STAT(vp, sb, td->td_ucred, NOCRED, td); in kern_fhstat()
4583 return (error); in kern_fhstat()
4600 int error; in sys_fhstatfs() local
4602 error = copyin(uap->u_fhp, &fh, sizeof(fhandle_t)); in sys_fhstatfs()
4603 if (error != 0) in sys_fhstatfs()
4604 return (error); in sys_fhstatfs()
4606 error = kern_fhstatfs(td, fh, sfp); in sys_fhstatfs()
4607 if (error == 0) in sys_fhstatfs()
4608 error = copyout(sfp, uap->buf, sizeof(*sfp)); in sys_fhstatfs()
4610 return (error); in sys_fhstatfs()
4618 int error; in kern_fhstatfs() local
4620 error = priv_check(td, PRIV_VFS_FHSTATFS); in kern_fhstatfs()
4621 if (error != 0) in kern_fhstatfs()
4622 return (error); in kern_fhstatfs()
4625 error = VFS_FHTOVP(mp, &fh.fh_fid, LK_EXCLUSIVE, &vp); in kern_fhstatfs()
4626 if (error != 0) { in kern_fhstatfs()
4628 return (error); in kern_fhstatfs()
4631 error = prison_canseemount(td->td_ucred, mp); in kern_fhstatfs()
4632 if (error != 0) in kern_fhstatfs()
4635 error = mac_mount_check_stat(td->td_ucred, mp); in kern_fhstatfs()
4636 if (error != 0) in kern_fhstatfs()
4639 error = VFS_STATFS(mp, buf); in kern_fhstatfs()
4642 return (error); in kern_fhstatfs()
4659 int error; in kern_posix_fadvise() local
4680 error = fget(td, fd, &cap_no_rights, &fp); in kern_posix_fadvise()
4681 if (error != 0) in kern_posix_fadvise()
4685 error = ESPIPE; in kern_posix_fadvise()
4689 error = ENODEV; in kern_posix_fadvise()
4694 error = ENODEV; in kern_posix_fadvise()
4763 error = VOP_ADVISE(vp, offset, end, advice); in kern_posix_fadvise()
4770 return (error); in kern_posix_fadvise()
4776 int error; in sys_posix_fadvise() local
4778 error = kern_posix_fadvise(td, uap->fd, uap->offset, uap->len, in sys_posix_fadvise()
4780 return (kern_posix_error(td, error)); in sys_posix_fadvise()
4789 int error; in kern_copy_file_range() local
4797 error = 0; in kern_copy_file_range()
4801 error = EINVAL; in kern_copy_file_range()
4813 error = fget_read(td, infd, &cap_read_rights, &infp); in kern_copy_file_range()
4814 if (error != 0) in kern_copy_file_range()
4817 error = EBADF; in kern_copy_file_range()
4821 error = EINVAL; in kern_copy_file_range()
4824 error = fget_write(td, outfd, &cap_write_rights, &outfp); in kern_copy_file_range()
4825 if (error != 0) in kern_copy_file_range()
4828 error = EBADF; in kern_copy_file_range()
4832 error = EINVAL; in kern_copy_file_range()
4849 error = EBADF; in kern_copy_file_range()
4864 error = EINVAL; in kern_copy_file_range()
4882 error = vn_copy_file_range(invp, inoffp, outvp, outoffp, &retlen, in kern_copy_file_range()
4889 if (savinoff != -1 && (error == EINTR || error == ERESTART)) { in kern_copy_file_range()
4898 return (error); in kern_copy_file_range()
4905 int error; in sys_copy_file_range() local
4909 error = copyin(uap->inoffp, &inoff, sizeof(off_t)); in sys_copy_file_range()
4910 if (error != 0) in sys_copy_file_range()
4911 return (error); in sys_copy_file_range()
4915 error = copyin(uap->outoffp, &outoff, sizeof(off_t)); in sys_copy_file_range()
4916 if (error != 0) in sys_copy_file_range()
4917 return (error); in sys_copy_file_range()
4920 error = kern_copy_file_range(td, uap->infd, inoffp, uap->outfd, in sys_copy_file_range()
4922 if (error == 0 && uap->inoffp != NULL) in sys_copy_file_range()
4923 error = copyout(inoffp, uap->inoffp, sizeof(off_t)); in sys_copy_file_range()
4924 if (error == 0 && uap->outoffp != NULL) in sys_copy_file_range()
4925 error = copyout(outoffp, uap->outoffp, sizeof(off_t)); in sys_copy_file_range()
4926 return (error); in sys_copy_file_range()