CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2016/05/22 14:27:05
Modified files:
sys/isofs/cd9660: cd9660_vfsops.c
sys/isofs/udf : udf_vfsops.c
sys/msdosfs : msdosfs_vfsops.c
sys/ntfs : ntfs_vfsops.c
sys/ufs/ext2fs : ext2fs_vfsops.c
sys/ufs/ffs : ffs_vfsops.c
Log message:
When pulling an msdos formated umass stick during mount while the
usb stack was busy, the kernel could trigger an uvm fault. There
is a race between vop_generic_revoke() and sys_mount() where vgonel()
could reset v_specinfo. Then v_specmountpoint is no longer valid.
So after sleeping, msdosfs_mountfs() could crash in the error path.
The code in the different *_mountfs() functions was inconsistent,
implement the same check everywhere.
OK krw@ natano@