diff --git a/sys/vfs/procfs/procfs_vnops.c b/sys/vfs/procfs/procfs_vnops.c index 9ca253e..3daad7a 100644 --- a/sys/vfs/procfs/procfs_vnops.c +++ b/sys/vfs/procfs/procfs_vnops.c @@ -175,8 +175,14 @@ procfs_open(struct vop_open_args *ap) int error; p2 = pfind(pfs->pfs_pid); + if (p2 == NULL) { + p2 = &proc0; + PHOLD(p2); + } + if (p2 == NULL) return (ENOENT); + if (pfs->pfs_pid && !PRISON_CHECK(ap->a_cred, p2->p_ucred)) { error = ENOENT; goto done;