/netbsd-current/sys/kern/ |
H A D | vfs_cwd.c | 50 struct cwdinfo *cwdi; local 53 cwdi = kmem_alloc(sizeof(*cwdi), KM_SLEEP); 54 KASSERT(ALIGNED_POINTER(cwdi, COHERENCY_UNIT)); 55 rw_init(&cwdi->cwdi_lock); 59 cwdi->cwdi_cdir = copy->cwdi_cdir; 60 if (cwdi->cwdi_cdir) 61 vref(cwdi->cwdi_cdir); 62 cwdi->cwdi_rdir = copy->cwdi_rdir; 63 if (cwdi 82 struct cwdinfo *cwdi; local 97 struct cwdinfo *cwdi = p->p_cwdi; local 110 cwdfree(struct cwdinfo *cwdi) argument [all...] |
H A D | vfs_getcwd.c | 274 struct cwdinfo *cwdi = l->l_proc->p_cwdi; local 283 rvp = cwdi->cwdi_rdir; 481 struct cwdinfo *cwdi; local 498 cwdi = l->l_proc->p_cwdi; 499 rw_enter(&cwdi->cwdi_lock, RW_READER); 500 error = getcwd_common(cwdi->cwdi_cdir, NULL, &bp, path, 502 rw_exit(&cwdi->cwdi_lock);
|
H A D | vfs_mount.c | 723 struct cwdinfo *cwdi; local 737 if ((cwdi = p->p_cwdi) == NULL) 744 if (cwdi->cwdi_cdir != olddp && 745 cwdi->cwdi_rdir != olddp) 750 atomic_inc_uint(&cwdi->cwdi_refcnt); 752 rw_enter(&cwdi->cwdi_lock, RW_WRITER); 753 if (cwdi->cwdi_cdir == olddp) { 754 rele1 = cwdi->cwdi_cdir; 756 cwdi->cwdi_cdir = newdp; 758 if (cwdi [all...] |
H A D | vfs_syscalls.c | 1241 struct cwdinfo *cwdi = l->l_proc->p_cwdi; local 1252 chrooted = (atomic_load_relaxed(&cwdi->cwdi_rdir) != NULL); 1279 rw_enter(&cwdi->cwdi_lock, RW_READER); 1280 error = getcwd_common(cwdi->cwdi_rdir, rootvnode, &bp, path, 1282 rw_exit(&cwdi->cwdi_lock); 1475 struct cwdinfo *cwdi; local 1513 cwdi = p->p_cwdi; 1514 rw_enter(&cwdi->cwdi_lock, RW_WRITER); 1515 if (cwdi->cwdi_rdir && !vn_isunder(vp, NULL, l)) { 1519 vrele(cwdi 1584 struct cwdinfo * cwdi; local 1644 struct cwdinfo *cwdi = p->p_cwdi; local 1724 struct cwdinfo *cwdi = p->p_cwdi; local [all...] |
H A D | vfs_lookup.c | 523 struct cwdinfo *cwdi; /* pointer to cwd state */ local 535 cwdi = self->l_proc->p_cwdi; 536 rw_enter(&cwdi->cwdi_lock, RW_READER); 539 if (cwdi->cwdi_rdir == NULL || (cnp->cn_flags & NOCHROOT)) { 542 rootdir = cwdi->cwdi_rdir; 557 erootdir = cwdi->cwdi_edir; 561 curdir = cwdi->cwdi_cdir; 581 * Get a reference to the start dir so we can safely unlock cwdi. 594 rw_exit(&cwdi->cwdi_lock);
|
H A D | vfs_subr.c | 1309 struct cwdinfo *cwdi = l->l_proc->p_cwdi; local 1311 if (cwdi->cwdi_rdir != NULL) { 1318 rw_enter(&cwdi->cwdi_lock, RW_READER); 1319 error = getcwd_common(cwdi->cwdi_rdir, rootvnode, &bp, 1321 rw_exit(&cwdi->cwdi_lock);
|
H A D | sys_mqueue.c | 417 struct cwdinfo *cwdi = p->p_cwdi; local 465 mq->mq_mode = ((mode & ~cwdi->cwdi_cmask) & ALLPERMS) & ~S_ISTXT;
|
H A D | kern_auth.c | 250 kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi) argument 252 kauth_cred_hook(cred, KAUTH_CRED_CHROOT, cwdi, NULL);
|
H A D | kern_exec.c | 684 struct cwdinfo *cwdi; local 710 cwdi = l->l_proc->p_cwdi; 711 rw_enter(&cwdi->cwdi_lock, RW_READER); 712 error = getcwd_common(cwdi->cwdi_cdir, NULL, &bp, path, MAXPATHLEN / 2, 714 rw_exit(&cwdi->cwdi_lock);
|
H A D | kern_proc.c | 3004 struct cwdinfo *cwdi; local 3019 cwdi = p->p_cwdi; 3020 rw_enter(&cwdi->cwdi_lock, RW_READER); 3021 vp = cwdi->cwdi_cdir; 3023 rw_exit(&cwdi->cwdi_lock);
|
/netbsd-current/sys/fs/ptyfs/ |
H A D | ptyfs_vfsops.c | 98 struct cwdinfo *cwdi = l->l_proc->p_cwdi; local 104 if (cwdi->cwdi_rdir == NULL) 107 if (vn_isunder(mp->mnt_vnodecovered, cwdi->cwdi_rdir, l)) 121 struct cwdinfo *cwdi = l->l_proc->p_cwdi; local 129 if (cwdi->cwdi_rdir == NULL) 135 error = getcwd_common(mp->mnt_vnodecovered, cwdi->cwdi_rdir, &bp,
|
/netbsd-current/usr.bin/fstat/ |
H A D | fstat.c | 445 struct cwdinfo cwdi; local 461 if (!KVM_READ(p->p_cwdi, &cwdi, sizeof(cwdi))) { 479 if (cwdi.cwdi_rdir) 480 vtrans(NULL, cwdi.cwdi_rdir, RDIR, FREAD, (long)cwdi.cwdi_rdir); 484 vtrans(NULL, cwdi.cwdi_cdir, CDIR, FREAD, (long)cwdi.cwdi_cdir);
|
/netbsd-current/sys/compat/netbsd32/ |
H A D | netbsd32_fs.c | 740 struct cwdinfo *cwdi; local 758 cwdi = p->p_cwdi; 759 rw_enter(&cwdi->cwdi_lock, RW_READER); 760 error = getcwd_common (cwdi->cwdi_cdir, NULL, &bp, path, len/2, 762 rw_exit(&cwdi->cwdi_lock);
|
/netbsd-current/sys/miscfs/procfs/ |
H A D | procfs_vnops.c | 531 struct cwdinfo *cwdi; local 536 * Lock target cwdi and take a reference to the vnode 556 cwdi = caller->l_proc->p_cwdi; 557 rw_enter(&cwdi->cwdi_lock, RW_READER); 559 rvp = cwdi->cwdi_rdir; 572 rw_exit(&cwdi->cwdi_lock); 591 rw_exit(&cwdi->cwdi_lock);
|
H A D | procfs_linux.c | 631 struct cwdinfo *cwdi = curl->l_proc->p_cwdi; local 650 if (!root && cwdi->cwdi_rdir) 652 &cwdi->cwdi_rdir->v_mount->mnt_stat, curl, 1);
|
/netbsd-current/sys/sys/ |
H A D | kauth.h | 544 void kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi);
|