summaryrefslogtreecommitdiffstats
path: root/sys/fs/pseudofs
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2009-02-16 15:17:26 +0000
committerdes <des@FreeBSD.org>2009-02-16 15:17:26 +0000
commit30905a584587209ee82da31eb6a3ca7856659f89 (patch)
treeedd135c1c224ccb077e90eca1774a7cc9ceb5f4a /sys/fs/pseudofs
parent18ef459d66774facccee8961de0394ce9e7cb266 (diff)
downloadFreeBSD-src-30905a584587209ee82da31eb6a3ca7856659f89.zip
FreeBSD-src-30905a584587209ee82da31eb6a3ca7856659f89.tar.gz
Fix a logic bug that caused the pfs_attr method to be called only for
PFS_PROCDEP nodes. Submitted by: Andrew Brampton <brampton@gmail.com> MFC after: 2 weeks
Diffstat (limited to 'sys/fs/pseudofs')
-rw-r--r--sys/fs/pseudofs/pseudofs_vnops.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c
index c5c14b1..be86f4e 100644
--- a/sys/fs/pseudofs/pseudofs_vnops.c
+++ b/sys/fs/pseudofs/pseudofs_vnops.c
@@ -226,14 +226,17 @@ pfs_getattr(struct vop_getattr_args *va)
if (proc != NULL) {
vap->va_uid = proc->p_ucred->cr_ruid;
vap->va_gid = proc->p_ucred->cr_rgid;
- if (pn->pn_attr != NULL)
- error = pn_attr(curthread, proc, pn, vap);
- PROC_UNLOCK(proc);
} else {
vap->va_uid = 0;
vap->va_gid = 0;
}
+ if (pn->pn_attr != NULL)
+ error = pn_attr(curthread, proc, pn, vap);
+
+ if(proc != NULL)
+ PROC_UNLOCK(proc);
+
PFS_RETURN (error);
}
OpenPOWER on IntegriCloud