Searched refs:cwdi (Results 1 - 16 of 16) sorted by relevance

/netbsd-current/sys/kern/
H A Dvfs_cwd.c50 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 Dvfs_getcwd.c274 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 Dvfs_mount.c723 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 Dvfs_syscalls.c1241 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 Dvfs_lookup.c523 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 Dvfs_subr.c1309 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 Dsys_mqueue.c417 struct cwdinfo *cwdi = p->p_cwdi; local
465 mq->mq_mode = ((mode & ~cwdi->cwdi_cmask) & ALLPERMS) & ~S_ISTXT;
H A Dkern_auth.c250 kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi) argument
252 kauth_cred_hook(cred, KAUTH_CRED_CHROOT, cwdi, NULL);
H A Dkern_exec.c684 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 Dkern_proc.c3004 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 Dptyfs_vfsops.c98 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 Dfstat.c445 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 Dnetbsd32_fs.c740 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 Dprocfs_vnops.c531 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 Dprocfs_linux.c631 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 Dkauth.h544 void kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi);

Completed in 212 milliseconds