| /netbsd-src/sys/kern/ |
| H A D | vfs_cwd.c | 51 struct cwdinfo *cwdi; in cwdinit() 54 cwdi = kmem_alloc(sizeof(*cwdi), KM_SLEEP); in cwdinit() 55 KASSERT(ALIGNED_POINTER(cwdi, COHERENCY_UNIT)); in cwdinit() 56 rw_init(&cwdi->cwdi_lock); in cwdinit() 60 cwdi->cwdi_cdir = copy->cwdi_cdir; in cwdinit() 61 if (cwdi->cwdi_cdir) in cwdinit() 62 vref(cwdi->cwdi_cdir); in cwdinit() 63 cwdi->cwdi_rdir = copy->cwdi_rdir; in cwdinit() 64 if (cwdi in cwdinit() 50 struct cwdinfo *cwdi; cwdinit() local 82 struct cwdinfo *cwdi; cwdshare() local 97 struct cwdinfo *cwdi = p->p_cwdi; cwdunshare() local 110 cwdfree(struct cwdinfo * cwdi) cwdfree() argument [all...] |
| H A D | vfs_getcwd.c | 277 struct cwdinfo *cwdi = l->l_proc->p_cwdi; in getcwd_common() 286 rvp = cwdi->cwdi_rdir; in getcwd_common() 488 struct cwdinfo *cwdi; in sys___getcwd() 505 cwdi = l->l_proc->p_cwdi; in sys___getcwd() 506 rw_enter(&cwdi->cwdi_lock, RW_READER); in sys___getcwd() 507 error = getcwd_common(cwdi->cwdi_cdir, NULL, &bp, path, in sys___getcwd() 509 rw_exit(&cwdi->cwdi_lock); in sys___getcwd() 274 struct cwdinfo *cwdi = l->l_proc->p_cwdi; getcwd_common() local 481 struct cwdinfo *cwdi; sys___getcwd() local
|
| H A D | vfs_mount.c | 725 struct cwdinfo *cwdi; in mount_checkdirs() 739 if ((cwdi = p->p_cwdi) == NULL) in mount_checkdirs() 746 if (cwdi->cwdi_cdir != olddp && in mount_checkdirs() 747 cwdi->cwdi_rdir != olddp) in mount_checkdirs() 752 atomic_inc_uint(&cwdi->cwdi_refcnt); in mount_checkdirs() 754 rw_enter(&cwdi->cwdi_lock, RW_WRITER); in mount_checkdirs() 755 if (cwdi->cwdi_cdir == olddp) { in mount_checkdirs() 756 rele1 = cwdi->cwdi_cdir; in mount_checkdirs() 758 cwdi->cwdi_cdir = newdp; in mount_checkdirs() 760 if (cwdi in mount_checkdirs() 723 struct cwdinfo *cwdi; mount_checkdirs() local [all...] |
| H A D | vfs_syscalls.c | 1268 struct cwdinfo *cwdi = l->l_proc->p_cwdi; in dostatvfs() 1279 chrooted = (atomic_load_relaxed(&cwdi->cwdi_rdir) != NULL); in dostatvfs() 1306 rw_enter(&cwdi->cwdi_lock, RW_READER); in dostatvfs() 1307 error = getcwd_common(cwdi->cwdi_rdir, rootvnode, &bp, path, in dostatvfs() 1309 rw_exit(&cwdi->cwdi_lock); in dostatvfs() 1503 struct cwdinfo *cwdi; in do_sys_fchdir() 1541 cwdi = p->p_cwdi; 1542 rw_enter(&cwdi->cwdi_lock, RW_WRITER); 1543 if (cwdi->cwdi_rdir && !vn_isunder(vp, NULL, l)) { 1547 vrele(cwdi in sys_fchdir() 1253 struct cwdinfo *cwdi = l->l_proc->p_cwdi; dostatvfs() local 1487 struct cwdinfo *cwdi; do_sys_fchdir() local 1596 struct cwdinfo * cwdi; do_sys_chdir() local 1656 struct cwdinfo *cwdi = p->p_cwdi; change_root() local 1736 struct cwdinfo *cwdi = p->p_cwdi; do_open() local [all...] |
| H A D | vfs_lookup.c | 532 struct cwdinfo *cwdi; /* pointer to cwd state */ in namei_getstartdir() 544 cwdi = self->l_proc->p_cwdi; in namei_getstartdir() 545 rw_enter(&cwdi->cwdi_lock, RW_READER); in namei_getstartdir() 548 if (cwdi->cwdi_rdir == NULL || (cnp->cn_flags & NOCHROOT)) { in namei_getstartdir() 551 rootdir = cwdi->cwdi_rdir; in namei_getstartdir() 566 erootdir = cwdi->cwdi_edir; in namei_getstartdir() 570 curdir = cwdi->cwdi_cdir; in namei_getstartdir() 590 * Get a reference to the start dir so we can safely unlock cwdi. in namei_getstartdir() 603 rw_exit(&cwdi->cwdi_lock); 523 struct cwdinfo *cwdi; /* pointer to cwd state */ namei_getstartdir() local
|
| H A D | vfs_subr.c | 1310 struct cwdinfo *cwdi = l->l_proc->p_cwdi; in set_statvfs_info() 1312 if (cwdi->cwdi_rdir != NULL) { in set_statvfs_info() 1319 rw_enter(&cwdi->cwdi_lock, RW_READER); in set_statvfs_info() 1320 error = getcwd_common(cwdi->cwdi_rdir, rootvnode, &bp, in set_statvfs_info() 1322 rw_exit(&cwdi->cwdi_lock); in set_statvfs_info() 1309 struct cwdinfo *cwdi = l->l_proc->p_cwdi; set_statvfs_info() local
|
| H A D | kern_exec.c | 685 struct cwdinfo *cwdi; in exec_makepathbuf() 711 cwdi = l->l_proc->p_cwdi; in exec_makepathbuf() 712 rw_enter(&cwdi->cwdi_lock, RW_READER); in exec_makepathbuf() 713 error = getcwd_common(cwdi->cwdi_cdir, NULL, &bp, path, MAXPATHLEN / 2, in exec_makepathbuf() 715 rw_exit(&cwdi->cwdi_lock); in exec_makepathbuf() 684 struct cwdinfo *cwdi; exec_makepathbuf() local
|
| H A D | kern_auth.c | 250 kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi) in kauth_proc_chroot() argument 252 kauth_cred_hook(cred, KAUTH_CRED_CHROOT, cwdi, NULL); in kauth_proc_chroot()
|
| H A D | kern_proc.c | 3004 struct cwdinfo *cwdi; in fill_cwd() local 3019 cwdi = p->p_cwdi; in fill_cwd() 3020 rw_enter(&cwdi->cwdi_lock, RW_READER); in fill_cwd() 3021 vp = cwdi->cwdi_cdir; in fill_cwd() 3023 rw_exit(&cwdi->cwdi_lock); in fill_cwd()
|
| H A D | sys_mqueue.c | 417 struct cwdinfo *cwdi = p->p_cwdi; in mqueue_create() local 465 mq->mq_mode = ((mode & ~cwdi->cwdi_cmask) & ALLPERMS) & ~S_ISTXT; in mqueue_create()
|
| /netbsd-src/sys/fs/ptyfs/ |
| H A D | ptyfs_vfsops.c | 98 struct cwdinfo *cwdi = l->l_proc->p_cwdi; in ptyfs__getmp() local 104 if (cwdi->cwdi_rdir == NULL) in ptyfs__getmp() 107 if (vn_isunder(mp->mnt_vnodecovered, cwdi->cwdi_rdir, l)) in ptyfs__getmp() 121 struct cwdinfo *cwdi = l->l_proc->p_cwdi; in ptyfs__getpath() local 129 if (cwdi->cwdi_rdir == NULL) in ptyfs__getpath() 135 error = getcwd_common(mp->mnt_vnodecovered, cwdi->cwdi_rdir, &bp, in ptyfs__getpath()
|
| /netbsd-src/usr.bin/fstat/ |
| H A D | fstat.c | 445 struct cwdinfo cwdi; in dofiles() local 461 if (!KVM_READ(p->p_cwdi, &cwdi, sizeof(cwdi))) { in dofiles() 479 if (cwdi.cwdi_rdir) in dofiles() 480 vtrans(NULL, cwdi.cwdi_rdir, RDIR, FREAD, (long)cwdi.cwdi_rdir); in dofiles() 484 vtrans(NULL, cwdi.cwdi_cdir, CDIR, FREAD, (long)cwdi.cwdi_cdir); in dofiles()
|
| /netbsd-src/sys/miscfs/procfs/ |
| H A D | procfs_vnops.c | 578 struct cwdinfo *cwdi; in procfs_dir() local 603 cwdi = caller->l_proc->p_cwdi; in procfs_dir() 604 rw_enter(&cwdi->cwdi_lock, RW_READER); in procfs_dir() 606 rvp = cwdi->cwdi_rdir; in procfs_dir() 619 rw_exit(&cwdi->cwdi_lock); in procfs_dir() 638 rw_exit(&cwdi->cwdi_lock); in procfs_dir()
|
| H A D | procfs_linux.c | 642 struct cwdinfo *cwdi = curl->l_proc->p_cwdi; in procfs_domounts() 661 if (!root && cwdi->cwdi_rdir) in procfs_domounts() 663 &cwdi->cwdi_rdir->v_mount->mnt_stat, curl, 1); in procfs_domounts() 637 struct cwdinfo *cwdi = curl->l_proc->p_cwdi; procfs_domounts() local
|
| /netbsd-src/sys/compat/netbsd32/ |
| H A D | netbsd32_fs.c | 740 struct cwdinfo *cwdi; in netbsd32___getcwd() local 758 cwdi = p->p_cwdi; in netbsd32___getcwd() 759 rw_enter(&cwdi->cwdi_lock, RW_READER); in netbsd32___getcwd() 760 error = getcwd_common (cwdi->cwdi_cdir, NULL, &bp, path, len/2, in netbsd32___getcwd() 762 rw_exit(&cwdi->cwdi_lock); in netbsd32___getcwd()
|
| /netbsd-src/sys/sys/ |
| H A D | kauth.h | 544 void kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi);
|