diff options
author | tjr <tjr@FreeBSD.org> | 2002-12-13 10:15:01 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2002-12-13 10:15:01 +0000 |
commit | 99f5994bb49ce0f6ac7f141db1b8806a6dd4a164 (patch) | |
tree | d6829a6b64cab3c4fd5bcf0cfade2c79d258fadd /sys/fs/smbfs/smbfs_subr.c | |
parent | 0d70b124724057274d505584b615ff6d73891ac7 (diff) | |
download | FreeBSD-src-99f5994bb49ce0f6ac7f141db1b8806a6dd4a164.zip FreeBSD-src-99f5994bb49ce0f6ac7f141db1b8806a6dd4a164.tar.gz |
Store a reference to the parent directory's vnode in struct smbnode,
not to the parent's smbnode, which may be freed during the lifetime
of the child if the mount is forcibly unmounted. umount -f should now
work properly (ie. not panic) on smbfs mounts.
Diffstat (limited to 'sys/fs/smbfs/smbfs_subr.c')
-rw-r--r-- | sys/fs/smbfs/smbfs_subr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/fs/smbfs/smbfs_subr.c b/sys/fs/smbfs/smbfs_subr.c index 8012c0b..16e4bf2 100644 --- a/sys/fs/smbfs/smbfs_subr.c +++ b/sys/fs/smbfs/smbfs_subr.c @@ -270,7 +270,7 @@ smb_fphelp(struct mbchain *mbp, struct smb_vc *vcp, struct smbnode *np, return ENAMETOOLONG; } *npp++ = np; - np = np->n_parent; + np = VTOSMB(np->n_parent); } /* if (i == 0) return smb_put_dmem(mbp, vcp, "\\", 2, caseopt);*/ |