Home
last modified time | relevance | path

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

/netbsd-src/sys/kern/
H A Dvfs_cwd.c51 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 Dvfs_getcwd.c277 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 Dvfs_mount.c725 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 Dvfs_syscalls.c1268 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 Dvfs_lookup.c532 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 Dvfs_subr.c1310 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 Dkern_exec.c685 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 Dkern_auth.c250 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 Dkern_proc.c3004 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 Dsys_mqueue.c417 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 Dptyfs_vfsops.c98 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 Dfstat.c445 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 Dprocfs_vnops.c578 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 Dprocfs_linux.c642 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 Dnetbsd32_fs.c740 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 Dkauth.h544 void kauth_proc_chroot(kauth_cred_t cred, struct cwdinfo *cwdi);