Lines Matching refs:pnp

237 	prnode_t *pnp = VTOP(vp);  in propen()  local
238 prcommon_t *pcp = pnp->pr_pcommon; in propen()
239 prnodetype_t type = pnp->pr_type; in propen()
264 rvp = pnp->pr_realvp; in propen()
298 p = pr_p_lock(pnp); in propen()
319 pnp->pr_flags |= PR_ISSELF; in propen()
342 if ((pnp->pr_flags & PR_INVAL) || in propen()
344 (VTOP(pnp->pr_pidfile)->pr_flags & PR_INVAL))) { in propen()
360 pnp->pr_flags |= PR_OFFMAX; in propen()
385 } else if (pnp->pr_hatid == 0) { in propen()
387 pnp->pr_hatid = (uint_t)id; in propen()
398 npnp->pr_ino = pnp->pr_ino; in propen()
399 npnp->pr_common = pnp->pr_common; in propen()
400 npnp->pr_pcommon = pnp->pr_pcommon; in propen()
401 npnp->pr_parent = pnp->pr_parent; in propen()
403 npnp->pr_index = pnp->pr_index; in propen()
408 VN_RELE(PTOV(pnp)); in propen()
409 pnp = npnp; in propen()
411 *vpp = PTOV(pnp); in propen()
418 prunlock(pnp); in propen()
430 prnode_t *pnp = VTOP(vp); in prclose() local
431 prcommon_t *pcp = pnp->pr_pcommon; in prclose()
432 prnodetype_t type = pnp->pr_type; in prclose()
454 p = pr_p_lock(pnp); in prclose()
464 if (pnp->pr_owner == curproc && !fisopen(vp)) in prclose()
465 pnp->pr_owner = NULL; in prclose()
468 prunlock(pnp); in prclose()
483 if ((pnp->pr_flags & (PR_ISSELF|PR_INVAL)) || in prclose()
485 (VTOP(pnp->pr_pidfile)->pr_flags & PR_INVAL))) { in prclose()
495 if (pnp->pr_owner == curproc && !fisopen(vp)) in prclose()
496 pnp->pr_owner = NULL; in prclose()
521 if (p->p_as != &kas && pnp->pr_hatid != 0) in prclose()
522 hat_freestat(p->p_as, pnp->pr_hatid); in prclose()
524 pnp->pr_hatid = 0; in prclose()
544 if (pr_cancel_watch(pnp) == NULL) in prclose()
582 prunlock(pnp); in prclose()
666 pr_read_inval(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_inval() argument
692 pr_read_as(prnode_t *pnp, uio_t *uiop) in pr_read_as() argument
696 ASSERT(pnp->pr_type == PR_AS); in pr_read_as()
698 if ((error = prlock(pnp, ZNO)) == 0) { in pr_read_as()
699 proc_t *p = pnp->pr_common->prc_proc; in pr_read_as()
722 prunlock(pnp); in pr_read_as()
729 pr_read_status(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_status() argument
734 ASSERT(pnp->pr_type == PR_STATUS); in pr_read_status()
741 if ((error = prlock(pnp, ZNO)) == 0) { in pr_read_status()
742 prgetstatus(pnp->pr_common->prc_proc, sp, VTOZONE(PTOV(pnp))); in pr_read_status()
743 prunlock(pnp); in pr_read_status()
751 pr_read_lstatus(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lstatus() argument
763 ASSERT(pnp->pr_type == PR_LSTATUS); in pr_read_lstatus()
765 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_lstatus()
767 p = pnp->pr_common->prc_proc; in pr_read_lstatus()
786 prgetlwpstatus(t, sp, VTOZONE(PTOV(pnp))); in pr_read_lstatus()
789 prunlock(pnp); in pr_read_lstatus()
797 pr_read_psinfo(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_psinfo() argument
803 ASSERT(pnp->pr_type == PR_PSINFO); in pr_read_psinfo()
810 p = pr_p_lock(pnp); in pr_read_psinfo()
815 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_psinfo()
817 prunlock(pnp); in pr_read_psinfo()
824 pr_read_fdinfo(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_fdinfo() argument
834 ASSERT(pnp->pr_type == PR_FDINFO); in pr_read_fdinfo()
844 if ((error = prlock(pnp, ZNO)) != 0) { in pr_read_fdinfo()
849 p = pnp->pr_common->prc_proc; in pr_read_fdinfo()
852 prunlock(pnp); in pr_read_fdinfo()
857 fd = pnp->pr_index; in pr_read_fdinfo()
864 prunlock(pnp); in pr_read_fdinfo()
886 prunlock(pnp); in pr_read_fdinfo()
902 pr_read_lpsinfo(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lpsinfo() argument
915 ASSERT(pnp->pr_type == PR_LPSINFO); in pr_read_lpsinfo()
922 p = pr_p_lock(pnp); in pr_read_lpsinfo()
926 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lpsinfo()
928 prunlock(pnp); in pr_read_lpsinfo()
960 prunlock(pnp); in pr_read_lpsinfo()
968 pr_read_map_common(prnode_t *pnp, uio_t *uiop, prnodetype_t type) in pr_read_map_common() argument
976 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_map_common()
979 p = pnp->pr_common->prc_proc; in pr_read_map_common()
983 prunlock(pnp); in pr_read_map_common()
988 prunlock(pnp); in pr_read_map_common()
1008 prunlock(pnp); in pr_read_map_common()
1016 pr_read_map(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_map() argument
1018 ASSERT(pnp->pr_type == PR_MAP); in pr_read_map()
1019 return (pr_read_map_common(pnp, uiop, pnp->pr_type)); in pr_read_map()
1023 pr_read_rmap(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_rmap() argument
1025 ASSERT(pnp->pr_type == PR_RMAP); in pr_read_rmap()
1026 return (pr_read_map_common(pnp, uiop, pnp->pr_type)); in pr_read_rmap()
1030 pr_read_xmap(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_xmap() argument
1032 ASSERT(pnp->pr_type == PR_XMAP); in pr_read_xmap()
1033 return (pr_read_map_common(pnp, uiop, pnp->pr_type)); in pr_read_xmap()
1037 pr_read_cred(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_cred() argument
1044 ASSERT(pnp->pr_type == PR_CRED); in pr_read_cred()
1054 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_cred()
1056 p = pnp->pr_common->prc_proc; in pr_read_cred()
1060 prunlock(pnp); in pr_read_cred()
1072 pr_read_priv(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_priv() argument
1079 ASSERT(pnp->pr_type == PR_PRIV); in pr_read_priv()
1081 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_priv()
1083 p = pnp->pr_common->prc_proc; in pr_read_priv()
1087 prunlock(pnp); in pr_read_priv()
1096 pr_read_sigact(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_sigact() argument
1105 ASSERT(pnp->pr_type == PR_SIGACT); in pr_read_sigact()
1113 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_sigact()
1115 p = pnp->pr_common->prc_proc; in pr_read_sigact()
1119 prunlock(pnp); in pr_read_sigact()
1126 prunlock(pnp); in pr_read_sigact()
1135 pr_read_auxv(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_auxv() argument
1142 ASSERT(pnp->pr_type == PR_AUXV); in pr_read_auxv()
1144 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_auxv()
1148 prunlock(pnp); in pr_read_auxv()
1152 p = pnp->pr_common->prc_proc; in pr_read_auxv()
1155 prunlock(pnp); in pr_read_auxv()
1170 pr_read_ldt(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_ldt() argument
1177 ASSERT(pnp->pr_type == PR_LDT); in pr_read_ldt()
1179 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_ldt()
1181 p = pnp->pr_common->prc_proc; in pr_read_ldt()
1189 prunlock(pnp); in pr_read_ldt()
1197 prunlock(pnp); in pr_read_ldt()
1206 pr_read_usage(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_usage() argument
1214 ASSERT(pnp->pr_type == PR_USAGE); in pr_read_usage()
1225 p = pr_p_lock(pnp); in pr_read_usage()
1231 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_usage()
1234 prunlock(pnp); in pr_read_usage()
1274 !(pnp->pr_pcommon->prc_flags & PRC_DESTROY)) { in pr_read_usage()
1283 prunlock(pnp); in pr_read_usage()
1295 pr_read_lusage(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lusage() argument
1309 ASSERT(pnp->pr_type == PR_LUSAGE); in pr_read_lusage()
1316 p = pr_p_lock(pnp); in pr_read_lusage()
1320 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lusage()
1322 prunlock(pnp); in pr_read_lusage()
1328 prunlock(pnp); in pr_read_lusage()
1398 prunlock(pnp); in pr_read_lusage()
1406 pr_read_pagedata(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_pagedata() argument
1411 ASSERT(pnp->pr_type == PR_PAGEDATA); in pr_read_pagedata()
1413 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_pagedata()
1416 p = pnp->pr_common->prc_proc; in pr_read_pagedata()
1418 prunlock(pnp); in pr_read_pagedata()
1423 error = prpdread(p, pnp->pr_hatid, uiop); in pr_read_pagedata()
1426 prunlock(pnp); in pr_read_pagedata()
1431 pr_read_opagedata(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_opagedata() argument
1437 ASSERT(pnp->pr_type == PR_OPAGEDATA); in pr_read_opagedata()
1439 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_opagedata()
1442 p = pnp->pr_common->prc_proc; in pr_read_opagedata()
1445 prunlock(pnp); in pr_read_opagedata()
1450 error = oprpdread(as, pnp->pr_hatid, uiop); in pr_read_opagedata()
1453 prunlock(pnp); in pr_read_opagedata()
1458 pr_read_watch(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_watch() argument
1468 ASSERT(pnp->pr_type == PR_WATCH); in pr_read_watch()
1470 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_watch()
1473 p = pnp->pr_common->prc_proc; in pr_read_watch()
1477 prunlock(pnp); in pr_read_watch()
1496 prunlock(pnp); in pr_read_watch()
1504 pr_read_lwpstatus(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpstatus() argument
1509 ASSERT(pnp->pr_type == PR_LWPSTATUS); in pr_read_lwpstatus()
1517 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_lwpstatus()
1521 prunlock(pnp); in pr_read_lwpstatus()
1525 prgetlwpstatus(pnp->pr_common->prc_thread, sp, VTOZONE(PTOV(pnp))); in pr_read_lwpstatus()
1526 prunlock(pnp); in pr_read_lwpstatus()
1535 pr_read_lwpsinfo(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpsinfo() argument
1542 ASSERT(pnp->pr_type == PR_LWPSINFO); in pr_read_lwpsinfo()
1549 p = pr_p_lock(pnp); in pr_read_lwpsinfo()
1553 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lwpsinfo()
1554 if (pnp->pr_common->prc_tslot == -1) { in pr_read_lwpsinfo()
1555 prunlock(pnp); in pr_read_lwpsinfo()
1560 prunlock(pnp); in pr_read_lwpsinfo()
1564 if ((t = pnp->pr_common->prc_thread) != NULL) in pr_read_lwpsinfo()
1567 lep = p->p_lwpdir[pnp->pr_common->prc_tslot].ld_entry; in pr_read_lwpsinfo()
1576 prunlock(pnp); in pr_read_lwpsinfo()
1582 pr_read_lwpusage(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpusage() argument
1589 ASSERT(pnp->pr_type == PR_LWPUSAGE); in pr_read_lwpusage()
1600 p = pr_p_lock(pnp); in pr_read_lwpusage()
1606 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lwpusage()
1607 if (pnp->pr_common->prc_thread == NULL) { in pr_read_lwpusage()
1608 prunlock(pnp); in pr_read_lwpusage()
1613 prunlock(pnp); in pr_read_lwpusage()
1619 prgetusage(pnp->pr_common->prc_thread, pup); in pr_read_lwpusage()
1621 prunlock(pnp); in pr_read_lwpusage()
1633 pr_read_lwpname(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpname() argument
1639 ASSERT(pnp->pr_type == PR_LWPNAME); in pr_read_lwpname()
1644 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_lwpname()
1649 t = pnp->pr_common->prc_thread; in pr_read_lwpname()
1654 prunlock(pnp); in pr_read_lwpname()
1661 pr_read_xregs(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_xregs() argument
1669 ASSERT(pnp->pr_type == PR_XREGS); in pr_read_xregs()
1671 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_xregs()
1674 p = pnp->pr_common->prc_proc; in pr_read_xregs()
1675 t = pnp->pr_common->prc_thread; in pr_read_xregs()
1693 prunlock(pnp); in pr_read_xregs()
1706 prunlock(pnp); in pr_read_xregs()
1717 prunlock(pnp); in pr_read_xregs()
1725 prunlock(pnp); in pr_read_xregs()
1734 pr_read_spymaster(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_spymaster() argument
1740 ASSERT(pnp->pr_type == PR_SPYMASTER); in pr_read_spymaster()
1742 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_spymaster()
1745 if (pnp->pr_common->prc_thread == NULL) { in pr_read_spymaster()
1746 prunlock(pnp); in pr_read_spymaster()
1750 lwp = pnp->pr_common->prc_thread->t_lwp; in pr_read_spymaster()
1753 prunlock(pnp); in pr_read_spymaster()
1758 prunlock(pnp); in pr_read_spymaster()
1764 pr_read_secflags(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_secflags() argument
1770 ASSERT(pnp->pr_type == PR_SECFLAGS); in pr_read_secflags()
1772 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_secflags()
1775 p = pnp->pr_common->prc_proc; in pr_read_secflags()
1777 prunlock(pnp); in pr_read_secflags()
1785 pr_read_gwindows(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_gwindows() argument
1793 ASSERT(pnp->pr_type == PR_GWINDOWS); in pr_read_gwindows()
1797 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_gwindows()
1800 p = pnp->pr_common->prc_proc; in pr_read_gwindows()
1801 t = pnp->pr_common->prc_thread; in pr_read_gwindows()
1814 prunlock(pnp); in pr_read_gwindows()
1819 prunlock(pnp); in pr_read_gwindows()
1829 pr_read_asrs(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_asrs() argument
1833 ASSERT(pnp->pr_type == PR_ASRS); in pr_read_asrs()
1836 if ((error = prlock(pnp, ZNO)) == 0) { in pr_read_asrs()
1837 proc_t *p = pnp->pr_common->prc_proc; in pr_read_asrs()
1838 kthread_t *t = pnp->pr_common->prc_thread; in pr_read_asrs()
1843 prunlock(pnp); in pr_read_asrs()
1855 prunlock(pnp); in pr_read_asrs()
1866 pr_read_piddir(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_piddir() argument
1868 ASSERT(pnp->pr_type == PR_PIDDIR); in pr_read_piddir()
1869 ASSERT(pnp->pr_pidfile != NULL); in pr_read_piddir()
1872 pnp = VTOP(pnp->pr_pidfile); in pr_read_piddir()
1873 ASSERT(pnp->pr_type == PR_PIDFILE); in pr_read_piddir()
1875 return (pr_read_pidfile(pnp, uiop)); in pr_read_piddir()
1879 pr_read_pidfile(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_pidfile() argument
1883 ASSERT(pnp->pr_type == PR_PIDFILE || pnp->pr_type == PR_LWPIDFILE); in pr_read_pidfile()
1885 if ((error = prlock(pnp, ZNO)) == 0) { in pr_read_pidfile()
1886 proc_t *p = pnp->pr_common->prc_proc; in pr_read_pidfile()
1906 prunlock(pnp); in pr_read_pidfile()
1987 pr_read_status_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_status_32() argument
1993 ASSERT(pnp->pr_type == PR_STATUS); in pr_read_status_32()
2000 if ((error = prlock(pnp, ZNO)) == 0) { in pr_read_status_32()
2005 p = pnp->pr_common->prc_proc; in pr_read_status_32()
2007 prunlock(pnp); in pr_read_status_32()
2010 prgetstatus32(pnp->pr_common->prc_proc, sp, in pr_read_status_32()
2011 VTOZONE(PTOV(pnp))); in pr_read_status_32()
2012 prunlock(pnp); in pr_read_status_32()
2021 pr_read_lstatus_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lstatus_32() argument
2033 ASSERT(pnp->pr_type == PR_LSTATUS); in pr_read_lstatus_32()
2035 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_lstatus_32()
2037 p = pnp->pr_common->prc_proc; in pr_read_lstatus_32()
2043 prunlock(pnp); in pr_read_lstatus_32()
2064 prgetlwpstatus32(t, sp, VTOZONE(PTOV(pnp))); in pr_read_lstatus_32()
2067 prunlock(pnp); in pr_read_lstatus_32()
2075 pr_read_psinfo_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_psinfo_32() argument
2081 ASSERT(pnp->pr_type == PR_PSINFO); in pr_read_psinfo_32()
2088 p = pr_p_lock(pnp); in pr_read_psinfo_32()
2093 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_psinfo_32()
2095 prunlock(pnp); in pr_read_psinfo_32()
2102 pr_read_lpsinfo_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lpsinfo_32() argument
2115 ASSERT(pnp->pr_type == PR_LPSINFO); in pr_read_lpsinfo_32()
2122 p = pr_p_lock(pnp); in pr_read_lpsinfo_32()
2126 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lpsinfo_32()
2128 prunlock(pnp); in pr_read_lpsinfo_32()
2158 prunlock(pnp); in pr_read_lpsinfo_32()
2166 pr_read_map_common_32(prnode_t *pnp, uio_t *uiop, prnodetype_t type) in pr_read_map_common_32() argument
2174 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_map_common_32()
2177 p = pnp->pr_common->prc_proc; in pr_read_map_common_32()
2181 prunlock(pnp); in pr_read_map_common_32()
2186 prunlock(pnp); in pr_read_map_common_32()
2191 prunlock(pnp); in pr_read_map_common_32()
2210 prunlock(pnp); in pr_read_map_common_32()
2218 pr_read_map_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_map_32() argument
2220 ASSERT(pnp->pr_type == PR_MAP); in pr_read_map_32()
2221 return (pr_read_map_common_32(pnp, uiop, pnp->pr_type)); in pr_read_map_32()
2225 pr_read_rmap_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_rmap_32() argument
2227 ASSERT(pnp->pr_type == PR_RMAP); in pr_read_rmap_32()
2228 return (pr_read_map_common_32(pnp, uiop, pnp->pr_type)); in pr_read_rmap_32()
2232 pr_read_xmap_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_xmap_32() argument
2234 ASSERT(pnp->pr_type == PR_XMAP); in pr_read_xmap_32()
2235 return (pr_read_map_common_32(pnp, uiop, pnp->pr_type)); in pr_read_xmap_32()
2239 pr_read_sigact_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_sigact_32() argument
2248 ASSERT(pnp->pr_type == PR_SIGACT); in pr_read_sigact_32()
2256 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_sigact_32()
2258 p = pnp->pr_common->prc_proc; in pr_read_sigact_32()
2261 prunlock(pnp); in pr_read_sigact_32()
2267 prunlock(pnp); in pr_read_sigact_32()
2274 prunlock(pnp); in pr_read_sigact_32()
2283 pr_read_auxv_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_auxv_32() argument
2291 ASSERT(pnp->pr_type == PR_AUXV); in pr_read_auxv_32()
2293 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_auxv_32()
2295 p = pnp->pr_common->prc_proc; in pr_read_auxv_32()
2298 prunlock(pnp); in pr_read_auxv_32()
2303 prunlock(pnp); in pr_read_auxv_32()
2312 prunlock(pnp); in pr_read_auxv_32()
2318 pr_read_usage_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_usage_32() argument
2326 ASSERT(pnp->pr_type == PR_USAGE); in pr_read_usage_32()
2337 p = pr_p_lock(pnp); in pr_read_usage_32()
2343 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_usage_32()
2346 prunlock(pnp); in pr_read_usage_32()
2386 !(pnp->pr_pcommon->prc_flags & PRC_DESTROY)) { in pr_read_usage_32()
2395 prunlock(pnp); in pr_read_usage_32()
2407 pr_read_lusage_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lusage_32() argument
2421 ASSERT(pnp->pr_type == PR_LUSAGE); in pr_read_lusage_32()
2428 p = pr_p_lock(pnp); in pr_read_lusage_32()
2432 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lusage_32()
2434 prunlock(pnp); in pr_read_lusage_32()
2440 prunlock(pnp); in pr_read_lusage_32()
2511 prunlock(pnp); in pr_read_lusage_32()
2519 pr_read_pagedata_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_pagedata_32() argument
2524 ASSERT(pnp->pr_type == PR_PAGEDATA); in pr_read_pagedata_32()
2526 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_pagedata_32()
2529 p = pnp->pr_common->prc_proc; in pr_read_pagedata_32()
2531 prunlock(pnp); in pr_read_pagedata_32()
2536 prunlock(pnp); in pr_read_pagedata_32()
2541 error = prpdread32(p, pnp->pr_hatid, uiop); in pr_read_pagedata_32()
2544 prunlock(pnp); in pr_read_pagedata_32()
2549 pr_read_opagedata_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_opagedata_32() argument
2555 ASSERT(pnp->pr_type == PR_OPAGEDATA); in pr_read_opagedata_32()
2557 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_opagedata_32()
2560 p = pnp->pr_common->prc_proc; in pr_read_opagedata_32()
2564 prunlock(pnp); in pr_read_opagedata_32()
2569 prunlock(pnp); in pr_read_opagedata_32()
2574 error = oprpdread32(as, pnp->pr_hatid, uiop); in pr_read_opagedata_32()
2577 prunlock(pnp); in pr_read_opagedata_32()
2582 pr_read_watch_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_watch_32() argument
2592 ASSERT(pnp->pr_type == PR_WATCH); in pr_read_watch_32()
2594 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_watch_32()
2597 p = pnp->pr_common->prc_proc; in pr_read_watch_32()
2599 prunlock(pnp); in pr_read_watch_32()
2605 prunlock(pnp); in pr_read_watch_32()
2624 prunlock(pnp); in pr_read_watch_32()
2632 pr_read_lwpstatus_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpstatus_32() argument
2638 ASSERT(pnp->pr_type == PR_LWPSTATUS); in pr_read_lwpstatus_32()
2646 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_lwpstatus_32()
2653 p = pnp->pr_common->prc_proc; in pr_read_lwpstatus_32()
2655 prunlock(pnp); in pr_read_lwpstatus_32()
2661 prunlock(pnp); in pr_read_lwpstatus_32()
2665 prgetlwpstatus32(pnp->pr_common->prc_thread, sp, VTOZONE(PTOV(pnp))); in pr_read_lwpstatus_32()
2666 prunlock(pnp); in pr_read_lwpstatus_32()
2675 pr_read_lwpsinfo_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpsinfo_32() argument
2682 ASSERT(pnp->pr_type == PR_LWPSINFO); in pr_read_lwpsinfo_32()
2689 p = pr_p_lock(pnp); in pr_read_lwpsinfo_32()
2693 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lwpsinfo_32()
2694 if (pnp->pr_common->prc_tslot == -1) { in pr_read_lwpsinfo_32()
2695 prunlock(pnp); in pr_read_lwpsinfo_32()
2700 prunlock(pnp); in pr_read_lwpsinfo_32()
2704 if ((t = pnp->pr_common->prc_thread) != NULL) in pr_read_lwpsinfo_32()
2707 lep = p->p_lwpdir[pnp->pr_common->prc_tslot].ld_entry; in pr_read_lwpsinfo_32()
2714 prunlock(pnp); in pr_read_lwpsinfo_32()
2720 pr_read_lwpusage_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_lwpusage_32() argument
2727 ASSERT(pnp->pr_type == PR_LWPUSAGE); in pr_read_lwpusage_32()
2738 p = pr_p_lock(pnp); in pr_read_lwpusage_32()
2744 ASSERT(p == pnp->pr_common->prc_proc); in pr_read_lwpusage_32()
2745 if (pnp->pr_common->prc_thread == NULL) { in pr_read_lwpusage_32()
2746 prunlock(pnp); in pr_read_lwpusage_32()
2751 prunlock(pnp); in pr_read_lwpusage_32()
2757 prgetusage(pnp->pr_common->prc_thread, pup); in pr_read_lwpusage_32()
2759 prunlock(pnp); in pr_read_lwpusage_32()
2771 pr_read_spymaster_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_spymaster_32() argument
2777 ASSERT(pnp->pr_type == PR_SPYMASTER); in pr_read_spymaster_32()
2779 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_spymaster_32()
2782 if (pnp->pr_common->prc_thread == NULL) { in pr_read_spymaster_32()
2783 prunlock(pnp); in pr_read_spymaster_32()
2787 lwp = pnp->pr_common->prc_thread->t_lwp; in pr_read_spymaster_32()
2790 prunlock(pnp); in pr_read_spymaster_32()
2795 prunlock(pnp); in pr_read_spymaster_32()
2802 pr_read_gwindows_32(prnode_t *pnp, uio_t *uiop, cred_t *cr) in pr_read_gwindows_32() argument
2810 ASSERT(pnp->pr_type == PR_GWINDOWS); in pr_read_gwindows_32()
2814 if ((error = prlock(pnp, ZNO)) != 0) in pr_read_gwindows_32()
2817 p = pnp->pr_common->prc_proc; in pr_read_gwindows_32()
2818 t = pnp->pr_common->prc_thread; in pr_read_gwindows_32()
2821 prunlock(pnp); in pr_read_gwindows_32()
2837 prunlock(pnp); in pr_read_gwindows_32()
2842 prunlock(pnp); in pr_read_gwindows_32()
2857 prnode_t *pnp = VTOP(vp); in prread() local
2859 ASSERT(pnp->pr_type < PR_NFILES); in prread()
2868 return (pr_read_function[pnp->pr_type](pnp, uiop, cr)); in prread()
2870 return (pr_read_function_32[pnp->pr_type](pnp, uiop, cr)); in prread()
2872 return (pr_read_function[pnp->pr_type](pnp, uiop, cr)); in prread()
2878 pr_write_lwpname(prnode_t *pnp, uio_t *uiop) in pr_write_lwpname() argument
2907 if ((error = prlock(pnp, ZNO)) != 0) { in pr_write_lwpname()
2912 t = pnp->pr_common->prc_thread; in pr_write_lwpname()
2920 prunlock(pnp); in pr_write_lwpname()
2928 prnode_t *pnp = VTOP(vp); in prwrite() local
2933 ASSERT(pnp->pr_type < PR_NFILES); in prwrite()
2938 switch (pnp->pr_type) { in prwrite()
2940 ASSERT(pnp->pr_pidfile != NULL); in prwrite()
2942 vp = pnp->pr_pidfile; in prwrite()
2943 pnp = VTOP(vp); in prwrite()
2944 ASSERT(pnp->pr_type == PR_PIDFILE); in prwrite()
2951 if ((error = prlock(pnp, ZNO)) == 0) { in prwrite()
2952 proc_t *p = pnp->pr_common->prc_proc; in prwrite()
2974 prunlock(pnp); in prwrite()
3003 return (pr_write_lwpname(pnp, uiop)); in prwrite()
3015 prnode_t *pnp = VTOP(vp); in prgetattr() local
3016 prnodetype_t type = pnp->pr_type; in prgetattr()
3069 rvp = pnp->pr_realvp; in prgetattr()
3077 vap->va_mode &= pnp->pr_mode; in prgetattr()
3099 vap->va_mode = pnp->pr_mode; in prgetattr()
3133 p = pr_p_lock(pnp); in prgetattr()
3137 pcp = pnp->pr_common; in prgetattr()
3158 prunlock(pnp); in prgetattr()
3168 vap->va_nodeid = pnp->pr_ino? pnp->pr_ino : in prgetattr()
3169 pmkino(pcp->prc_tslot, pcp->prc_slot, pnp->pr_type); in prgetattr()
3233 int fd = pnp->pr_index; in prgetattr()
3237 prunlock(pnp); in prgetattr()
3240 prunlock(pnp); in prgetattr()
3404 if (pnp->pr_common->prc_thread != NULL && in prgetattr()
3405 pnp->pr_common->prc_thread->t_lwp->lwp_spymaster != NULL) { in prgetattr()
3458 prunlock(pnp); in prgetattr()
3466 prnode_t *pnp = VTOP(vp); in praccess() local
3467 prnodetype_t type = pnp->pr_type; in praccess()
3489 rvp = pnp->pr_realvp; in praccess()
3491 vmode = pnp->pr_mode; in praccess()
3507 p = pr_p_lock(pnp); in praccess()
3511 prunlock(pnp); in praccess()
3519 if ((error = prlock(pnp, in praccess()
3522 p = pnp->pr_common->prc_proc; in praccess()
3528 prunlock(pnp); in praccess()
3536 prunlock(pnp); in praccess()
3550 return (VOP_ACCESS(pnp->pr_realvp, mode, flags, cr, ct)); in praccess()
3557 vmode = pnp->pr_mode; in praccess()
3635 prnode_t *pnp = VTOP(dp); in prlookup() local
3636 prnodetype_t type = pnp->pr_type; in prlookup()
3643 VN_HOLD(pnp->pr_parent); in prlookup()
3644 *vpp = pnp->pr_parent; in prlookup()
3682 dp = pnp->pr_realvp; in prlookup()
3768 prnode_t *pnp; in pr_lookup_procdir() local
3777 pnp = prgetnode(dp, PR_SELF); in pr_lookup_procdir()
3778 return (PTOV(pnp)); in pr_lookup_procdir()
3790 pnp = prgetnode(dp, PR_PIDDIR); in pr_lookup_procdir()
3795 prfreenode(pnp); in pr_lookup_procdir()
3803 prfreenode(pnp); in pr_lookup_procdir()
3822 prfreenode(pnp); in pr_lookup_procdir()
3827 pnp->pr_owner = curproc; in pr_lookup_procdir()
3833 pcp = pnp->pr_common; /* the newly-allocated prcommon struct */ in pr_lookup_procdir()
3842 pnp->pr_common = pcp; in pr_lookup_procdir()
3854 pnp->pr_pcommon = pcp; in pr_lookup_procdir()
3855 pnp->pr_parent = dp; in pr_lookup_procdir()
3861 pnp->pr_next = p->p_trace; in pr_lookup_procdir()
3862 p->p_trace = dp = PTOV(pnp); in pr_lookup_procdir()
3867 vp = pnp->pr_pidfile; in pr_lookup_procdir()
3868 pnp = VTOP(vp); in pr_lookup_procdir()
3869 pnp->pr_ino = ptoi(pcp->prc_pid); in pr_lookup_procdir()
3870 pnp->pr_common = pcp; in pr_lookup_procdir()
3871 pnp->pr_pcommon = pcp; in pr_lookup_procdir()
3872 pnp->pr_parent = dp; in pr_lookup_procdir()
3873 pnp->pr_next = p->p_plist; in pr_lookup_procdir()
3885 prnode_t *pnp; in pr_lookup_piddir() local
3905 pnp = prgetnode(dp, type); in pr_lookup_piddir()
3910 prfreenode(pnp); in pr_lookup_piddir()
3920 prfreenode(pnp); in pr_lookup_piddir()
3935 prfreenode(pnp); in pr_lookup_piddir()
3943 pnp->pr_realvp = vp; in pr_lookup_piddir()
3944 PTOV(pnp)->v_flag |= VTRAVERSE; in pr_lookup_piddir()
3957 prfreenode(pnp); in pr_lookup_piddir()
3965 pnp->pr_common = dpnp->pr_common; in pr_lookup_piddir()
3966 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_piddir()
3967 pnp->pr_parent = dp; in pr_lookup_piddir()
3969 pnp->pr_index = i; in pr_lookup_piddir()
3971 dpnp->pr_files[i] = vp = PTOV(pnp); in pr_lookup_piddir()
3977 pnp->pr_next = p->p_plist; in pr_lookup_piddir()
3989 prnode_t *pnp; in pr_lookup_objectdir() local
3998 pnp = prgetnode(dp, PR_OBJECT); in pr_lookup_objectdir()
4001 prfreenode(pnp); in pr_lookup_objectdir()
4007 prfreenode(pnp); in pr_lookup_objectdir()
4056 prfreenode(pnp); in pr_lookup_objectdir()
4065 pnp->pr_realvp = vp; in pr_lookup_objectdir()
4066 vp = PTOV(pnp); in pr_lookup_objectdir()
4081 prnode_t *pnp; in pr_lookup_lwpdir() local
4110 pnp = prgetnode(dp, PR_LWPIDDIR); in pr_lookup_lwpdir()
4115 prfreenode(pnp); in pr_lookup_lwpdir()
4138 prfreenode(pnp); in pr_lookup_lwpdir()
4154 prfreenode(pnp); in pr_lookup_lwpdir()
4158 pnp->pr_owner = curproc; in pr_lookup_lwpdir()
4164 pcp = pnp->pr_common; /* the newly-allocated prcommon struct */ in pr_lookup_lwpdir()
4173 pnp->pr_common = pcp; in pr_lookup_lwpdir()
4189 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_lwpdir()
4190 pnp->pr_parent = dp; in pr_lookup_lwpdir()
4196 pnp->pr_next = lep->le_trace; in pr_lookup_lwpdir()
4197 lep->le_trace = vp = PTOV(pnp); in pr_lookup_lwpdir()
4207 prnode_t *pnp; in pr_lookup_lwpiddir() local
4226 pnp = prgetnode(dp, type); in pr_lookup_lwpiddir()
4231 prfreenode(pnp); in pr_lookup_lwpiddir()
4242 prfreenode(pnp); in pr_lookup_lwpiddir()
4251 prfreenode(pnp); in pr_lookup_lwpiddir()
4263 prfreenode(pnp); in pr_lookup_lwpiddir()
4271 pnp->pr_common = dpnp->pr_common; in pr_lookup_lwpiddir()
4272 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_lwpiddir()
4273 pnp->pr_parent = dp; in pr_lookup_lwpiddir()
4275 pnp->pr_index = i; in pr_lookup_lwpiddir()
4277 dpnp->pr_files[i] = vp = PTOV(pnp); in pr_lookup_lwpiddir()
4283 pnp->pr_next = p->p_plist; in pr_lookup_lwpiddir()
4298 prnode_t *pnp; in pr_lookup_fddir() local
4318 pnp = prgetnode(dp, PR_FD); in pr_lookup_fddir()
4321 prfreenode(pnp); in pr_lookup_fddir()
4327 prfreenode(pnp); in pr_lookup_fddir()
4332 pnp->pr_mode = 07111; in pr_lookup_fddir()
4334 pnp->pr_mode |= 0444; in pr_lookup_fddir()
4336 pnp->pr_mode |= 0222; in pr_lookup_fddir()
4347 prfreenode(pnp); in pr_lookup_fddir()
4357 pnp->pr_realvp = vp; in pr_lookup_fddir()
4358 pnp->pr_parent = dp; /* needed for prlookup */ in pr_lookup_fddir()
4360 vp = PTOV(pnp); in pr_lookup_fddir()
4361 if (pnp->pr_realvp->v_type == VDIR) { in pr_lookup_fddir()
4373 prnode_t *pnp; in pr_lookup_fdinfodir() local
4392 pnp = prgetnode(dp, PR_FDINFO); in pr_lookup_fdinfodir()
4395 prfreenode(pnp); in pr_lookup_fdinfodir()
4401 prfreenode(pnp); in pr_lookup_fdinfodir()
4413 pnp->pr_common = dpnp->pr_common; in pr_lookup_fdinfodir()
4414 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_fdinfodir()
4415 pnp->pr_parent = dp; in pr_lookup_fdinfodir()
4416 pnp->pr_index = fd; in pr_lookup_fdinfodir()
4419 vp = PTOV(pnp); in pr_lookup_fdinfodir()
4428 prnode_t *pnp; in pr_lookup_pathdir() local
4595 pnp = prgetnode(dp, PR_PATH); in pr_lookup_pathdir()
4597 pnp->pr_flags |= flags; in pr_lookup_pathdir()
4598 pnp->pr_common = dpnp->pr_common; in pr_lookup_pathdir()
4599 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_pathdir()
4600 pnp->pr_realvp = vp; in pr_lookup_pathdir()
4601 pnp->pr_parent = dp; /* needed for prlookup */ in pr_lookup_pathdir()
4602 pnp->pr_ino = pmkino(idx, dpnp->pr_common->prc_slot, PR_PATH); in pr_lookup_pathdir()
4604 vp = PTOV(pnp); in pr_lookup_pathdir()
4618 prnode_t *pnp; in pr_lookup_tmpldir() local
4631 pnp = prgetnode(dp, PR_TMPL); in pr_lookup_tmpldir()
4634 prfreenode(pnp); in pr_lookup_tmpldir()
4641 prfreenode(pnp); in pr_lookup_tmpldir()
4645 pnp->pr_common = dpnp->pr_common; in pr_lookup_tmpldir()
4646 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_tmpldir()
4647 pnp->pr_parent = dp; in pr_lookup_tmpldir()
4648 pnp->pr_cttype = i; in pr_lookup_tmpldir()
4650 vp = PTOV(pnp); in pr_lookup_tmpldir()
4652 prfreenode(pnp); in pr_lookup_tmpldir()
4666 prnode_t *pnp; in pr_lookup_ctdir() local
4692 pnp = prgetnode(dp, PR_CT); in pr_lookup_ctdir()
4695 prfreenode(pnp); in pr_lookup_ctdir()
4712 prfreenode(pnp); in pr_lookup_ctdir()
4716 pnp->pr_common = dpnp->pr_common; in pr_lookup_ctdir()
4717 pnp->pr_pcommon = dpnp->pr_pcommon; in pr_lookup_ctdir()
4718 pnp->pr_contract = ct; in pr_lookup_ctdir()
4719 pnp->pr_parent = dp; in pr_lookup_ctdir()
4720 pnp->pr_ino = pmkino(id, pnp->pr_common->prc_slot, PR_CT); in pr_lookup_ctdir()
4723 vp = PTOV(pnp); in pr_lookup_ctdir()
4733 prlwpnode(prnode_t *pnp, uint_t tid) in prlwpnode() argument
4744 if (pnp->pr_type == PR_PIDFILE) { in prlwpnode()
4745 dp = pnp->pr_parent; /* /proc/<pid> */ in prlwpnode()
4751 } else if (pnp->pr_type == PR_LWPIDFILE) { in prlwpnode()
4752 dp = pnp->pr_parent; /* /proc/<pid>/lwp/<lwpid> */ in prlwpnode()
4765 pnp = prgetnode(dp, PR_LWPIDFILE); in prlwpnode()
4766 vp = PTOV(pnp); in prlwpnode()
4773 pnp->pr_ino = ptoi(pcp->prc_pid); in prlwpnode()
4774 pnp->pr_common = pcp; in prlwpnode()
4775 pnp->pr_pcommon = VTOP(dp)->pr_pcommon; in prlwpnode()
4776 pnp->pr_parent = dp; in prlwpnode()
4780 p = pr_p_lock(pnp); in prlwpnode()
4784 prfreenode(pnp); in prlwpnode()
4787 prunlock(pnp); in prlwpnode()
4789 prfreenode(pnp); in prlwpnode()
4792 pnp->pr_next = p->p_plist; in prlwpnode()
4794 prunlock(pnp); in prlwpnode()
4821 prnode_t *pnp; in prgetnode() local
4827 pnp = kmem_zalloc(sizeof (prnode_t), KM_SLEEP); in prgetnode()
4829 mutex_init(&pnp->pr_mutex, NULL, MUTEX_DEFAULT, NULL); in prgetnode()
4830 pnp->pr_type = type; in prgetnode()
4832 pnp->pr_vnode = vn_alloc(KM_SLEEP); in prgetnode()
4834 vp = PTOV(pnp); in prgetnode()
4839 vp->v_data = (caddr_t)pnp; in prgetnode()
4851 pnp->pr_common = pcp; in prgetnode()
4856 pnp->pr_files = in prgetnode()
4870 pnp->pr_pidfile = PTOV(xpnp); in prgetnode()
4871 pnp->pr_mode = 0511; in prgetnode()
4874 pnp->pr_mode = 0555; in prgetnode()
4888 pnp->pr_mode = 0500; /* read-search by owner only */ in prgetnode()
4893 pnp->pr_mode = 0500; /* read-search by owner only */ in prgetnode()
4899 pnp->pr_mode = 0777; in prgetnode()
4904 pnp->pr_mode = 0555; /* read-search by all */ in prgetnode()
4909 pnp->pr_mode = 0600; /* read-write by owner only */ in prgetnode()
4914 pnp->pr_mode = 0200; /* write-only by owner only */ in prgetnode()
4919 pnp->pr_mode = 0600; /* read-write by owner only */ in prgetnode()
4923 pnp->pr_mode = 0644; /* readable by all + owner can write */ in prgetnode()
4932 pnp->pr_mode = 0444; /* read-only by all */ in prgetnode()
4936 pnp->pr_mode = 0400; /* read-only by owner only */ in prgetnode()
4940 return (pnp); in prgetnode()
4947 prfreenode(prnode_t *pnp) in prfreenode() argument
4952 vn_invalid(PTOV(pnp)); in prfreenode()
4953 vn_free(PTOV(pnp)); in prfreenode()
4954 mutex_destroy(&pnp->pr_mutex); in prfreenode()
4956 switch (pnp->pr_type) { in prfreenode()
4959 if (pnp->pr_pidfile != NULL) { in prfreenode()
4960 prfreenode(VTOP(pnp->pr_pidfile)); in prfreenode()
4961 pnp->pr_pidfile = NULL; in prfreenode()
4968 prfreecommon(pnp->pr_common); in prfreenode()
4969 nfiles = (pnp->pr_type == PR_PIDDIR)? in prfreenode()
4971 kmem_free(pnp->pr_files, nfiles * sizeof (vnode_t *)); in prfreenode()
4980 vp = pnp->pr_realvp; in prfreenode()
4981 kmem_free(pnp, sizeof (*pnp)); in prfreenode()
5082 prnode_t *pnp = VTOP(vp); in prreaddir() local
5084 ASSERT(pnp->pr_type < PR_NFILES); in prreaddir()
5087 return (pr_readdir_function[pnp->pr_type](pnp, uiop, eofp)); in prreaddir()
5092 pr_readdir_notdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_notdir() argument
5099 pr_readdir_procdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_procdir() argument
5106 ASSERT(pnp->pr_type == PR_PROCDIR); in pr_readdir_procdir()
5108 zoneid = VTOZONE(PTOV(pnp))->zone_id; in pr_readdir_procdir()
5158 pr_readdir_piddir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_piddir() argument
5160 int zombie = ((pnp->pr_pcommon->prc_flags & PRC_DESTROY) != 0); in pr_readdir_piddir()
5166 ASSERT(pnp->pr_type == PR_PIDDIR); in pr_readdir_piddir()
5172 if (pnp->pr_pcommon->prc_proc == NULL) in pr_readdir_piddir()
5201 dirent.d_ino = pmkino(0, pnp->pr_pcommon->prc_slot, in pr_readdir_piddir()
5339 pr_readdir_objectdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_objectdir() argument
5350 ASSERT(pnp->pr_type == PR_OBJECTDIR); in pr_readdir_objectdir()
5352 if ((error = prlock(pnp, ZNO)) != 0) in pr_readdir_objectdir()
5354 p = pnp->pr_common->prc_proc; in pr_readdir_objectdir()
5369 prunlock(pnp); in pr_readdir_objectdir()
5435 prunlock(pnp); in pr_readdir_objectdir()
5442 pr_readdir_lwpdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_lwpdir() argument
5452 ASSERT(pnp->pr_type == PR_LWPDIR); in pr_readdir_lwpdir()
5454 p = pr_p_lock(pnp); in pr_readdir_lwpdir()
5458 ASSERT(p == pnp->pr_common->prc_proc); in pr_readdir_lwpdir()
5475 prunlock(pnp); in pr_readdir_lwpdir()
5509 prunlock(pnp); in pr_readdir_lwpdir()
5516 pr_readdir_lwpiddir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_lwpiddir() argument
5518 prcommon_t *pcp = pnp->pr_common; in pr_readdir_lwpiddir()
5527 ASSERT(pnp->pr_type == PR_LWPIDDIR); in pr_readdir_lwpiddir()
5585 pr_readdir_fdlist(prnode_t *pnp, uio_t *uiop, int *eofp, in pr_readdir_fdlist() argument
5596 if ((error = prlock(pnp, ZNO)) != 0) in pr_readdir_fdlist()
5598 p = pnp->pr_common->prc_proc; in pr_readdir_fdlist()
5606 prunlock(pnp); in pr_readdir_fdlist()
5642 prunlock(pnp); in pr_readdir_fdlist()
5648 pr_readdir_fddir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_fddir() argument
5651 ASSERT(pnp->pr_type == PR_FDDIR); in pr_readdir_fddir()
5653 return (pr_readdir_fdlist(pnp, uiop, eofp, pnp->pr_type, PR_FD)); in pr_readdir_fddir()
5657 pr_readdir_fdinfodir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_fdinfodir() argument
5660 ASSERT(pnp->pr_type == PR_FDINFODIR); in pr_readdir_fdinfodir()
5662 return (pr_readdir_fdlist(pnp, uiop, eofp, pnp->pr_type, PR_FDINFO)); in pr_readdir_fdinfodir()
5667 pr_readdir_pathdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_pathdir() argument
5685 ASSERT(pnp->pr_type == PR_PATHDIR); in pr_readdir_pathdir()
5694 if ((error = prlock(pnp, ZNO)) != 0) in pr_readdir_pathdir()
5696 p = pnp->pr_common->prc_proc; in pr_readdir_pathdir()
5825 prunlock(pnp); in pr_readdir_pathdir()
5830 pr_readdir_tmpldir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_tmpldir() argument
5838 ASSERT(pnp->pr_type == PR_TMPLDIR); in pr_readdir_tmpldir()
5840 if ((error = prlock(pnp, ZNO)) != 0) in pr_readdir_tmpldir()
5842 p = pnp->pr_common->prc_proc; in pr_readdir_tmpldir()
5843 pslot = pnp->pr_common->prc_slot; in pr_readdir_tmpldir()
5844 tslot = pnp->pr_common->prc_tslot; in pr_readdir_tmpldir()
5851 prunlock(pnp); in pr_readdir_tmpldir()
5862 pnp->pr_common->prc_thread->t_lwp->lwp_ct_active[n] == NULL) in pr_readdir_tmpldir()
5884 prunlock(pnp); in pr_readdir_tmpldir()
5890 pr_readdir_ctdir(prnode_t *pnp, uio_t *uiop, int *eofp) in pr_readdir_ctdir() argument
5899 ASSERT(pnp->pr_type == PR_CTDIR); in pr_readdir_ctdir()
5901 if ((error = prlock(pnp, ZNO)) != 0) in pr_readdir_ctdir()
5903 p = pnp->pr_common->prc_proc; in pr_readdir_ctdir()
5910 prunlock(pnp); in pr_readdir_ctdir()
5914 zid = VTOZONE(pnp->pr_vnode)->zone_uniqid; in pr_readdir_ctdir()
5928 prunlock(pnp); in pr_readdir_ctdir()
5947 prnode_t *pnp; in pr_list_unlink() local
5950 pnp = VTOP(vp); in pr_list_unlink()
5952 *listp = pnp->pr_next; in pr_list_unlink()
5953 pnp->pr_next = NULL; in pr_list_unlink()
5956 listp = &pnp->pr_next; in pr_list_unlink()
5964 prnode_t *pnp = VTOP(vp); in prinactive() local
5965 prnodetype_t type = pnp->pr_type; in prinactive()
5979 if ((dp = pnp->pr_parent) != NULL) in prinactive()
5981 prfreenode(pnp); in prinactive()
5988 if (pnp->pr_pcommon == NULL) in prinactive()
5990 else if ((p = pnp->pr_pcommon->prc_proc) != NULL) in prinactive()
6003 if ((dp = pnp->pr_parent) != NULL) { in prinactive()
6015 dpnp->pr_files[pnp->pr_index] == vp) in prinactive()
6016 dpnp->pr_files[pnp->pr_index] = NULL; in prinactive()
6020 pnp->pr_parent = NULL; in prinactive()
6028 if (pnp->pr_pidfile != NULL) { in prinactive()
6030 ovp = pnp->pr_pidfile; in prinactive()
6033 pnp->pr_pidfile = NULL; in prinactive()
6050 if ((slot = pnp->pr_common->prc_tslot) != -1) { in prinactive()
6066 if (type == PR_CT && pnp->pr_contract != NULL) { in prinactive()
6067 contract_rele(pnp->pr_contract); in prinactive()
6068 pnp->pr_contract = NULL; in prinactive()
6073 prfreenode(pnp); in prinactive()
6098 prreadlink_lookup(prnode_t *pnp, char *buf, size_t size, cred_t *cr) in prreadlink_lookup() argument
6115 ret = vnodetopath(vrootp, pnp->pr_realvp, buf, size, cr); in prreadlink_lookup()
6122 if ((pnp->pr_flags & PR_AOUT) == 0) { in prreadlink_lookup()
6132 if (prlock(pnp, ZNO) != 0) { in prreadlink_lookup()
6137 p = pnp->pr_common->prc_proc; in prreadlink_lookup()
6149 prunlock(pnp); in prreadlink_lookup()
6168 prunlock(pnp); in prreadlink_lookup()
6174 &vp, pnp->pr_realvp) == 0) { in prreadlink_lookup()
6186 prunlock(pnp); in prreadlink_lookup()
6196 if ((ret = dirfindvp(vrootp, pnp->pr_realvp, execvp, cr, dbuf, in prreadlink_lookup()
6215 prnode_t *pnp = VTOP(vp); in prreadlink() local
6222 switch (pnp->pr_type) { in prreadlink()
6231 if (pnp->pr_realvp->v_type == VDIR) in prreadlink()
6237 if ((ret = prreadlink_lookup(pnp, buf, MAXPATHLEN, cr)) == 0) in prreadlink()
6243 ASSERT(pnp->pr_contract != NULL); in prreadlink()
6244 ct = pnp->pr_contract; in prreadlink()
6318 prnode_t *pnp = VTOP(vp); in prpoll() local
6319 prcommon_t *pcp = pnp->pr_common; in prpoll()
6326 ASSERT(pnp->pr_type < PR_NFILES); in prpoll()
6331 if (pnp->pr_pidfile != NULL) { in prpoll()
6332 vp = pnp->pr_pidfile; in prpoll()
6333 pnp = VTOP(vp); in prpoll()
6334 ASSERT(pnp->pr_type == PR_PIDFILE); in prpoll()
6335 ASSERT(pnp->pr_common == pcp); in prpoll()
6352 if ((error = prlock(pnp, ZNO)) != 0) { in prpoll()