e0fd5659c6
reference to the parent directory's vnode instead of its smbnode to avoid a use-after-free bug causing a panic when a smbfs mount is forcefully unmounted. Keep trying to flush the vnode list for the mount while some are still busy and we are making progress towards making them not busy. This stops attempts to unmount idle smbfs mounts failing with EBUSY. The easiest way to reproduce the above problem, from what I have seen is: 1) Assume /s is a smbfs mount point. 2) mount /s 3) stat /s/foo/1 4) umount /s Returns error because the file system is busy. 5) Shutdown the machine: panic in smbfs_reclaim because vrele accesses already-released memory. |
||
---|---|---|
.. | ||
files.smbfs | ||
Makefile | ||
smbfs_io.c | ||
smbfs_kq.c | ||
smbfs_node.c | ||
smbfs_node.h | ||
smbfs_smb.c | ||
smbfs_subr.c | ||
smbfs_subr.h | ||
smbfs_vfsops.c | ||
smbfs_vnops.c | ||
smbfs.h |