diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2001-01-23 22:38:15 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2001-01-23 22:38:15 +0000 |
| commit | 1aab03a584f8e2a8550e6682fe479e2e590ef790 (patch) | |
| tree | c4e2a5861f0aa4144526327c8dacac521c0ccb70 /sys/fs | |
| parent | f5343b32191e51afda6d41aab99393628f6d5c40 (diff) | |
Notes
Diffstat (limited to 'sys/fs')
| -rw-r--r-- | sys/fs/hpfs/hpfs_vfsops.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/fs/hpfs/hpfs_vfsops.c b/sys/fs/hpfs/hpfs_vfsops.c index 628ec2528c22..ab6d76312630 100644 --- a/sys/fs/hpfs/hpfs_vfsops.c +++ b/sys/fs/hpfs/hpfs_vfsops.c @@ -331,6 +331,9 @@ hpfs_mountfs(devvp, mp, argsp, p) struct hpfsmount *hpmp; struct buf *bp = NULL; struct vnode *vp; +#if defined(__FreeBSD__) + struct ucred *uc; +#endif dev_t dev = devvp->v_rdev; dprintf(("hpfs_mountfs():\n")); @@ -353,7 +356,12 @@ hpfs_mountfs(devvp, mp, argsp, p) #if defined(__FreeBSD__) VN_LOCK(devvp, LK_EXCLUSIVE | LK_RETRY, p); - error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0); + PROC_LOCK(p); + uc = p->p_ucred; + crhold(uc); + PROC_UNLOCK(p); + error = vinvalbuf(devvp, V_SAVE, uc, p, 0, 0); + crfree(uc); VOP__UNLOCK(devvp, 0, p); #else error = vinvalbuf(devvp, V_SAVE, p->p_ucred, p, 0, 0); |
