Hello. There is a problem with mount(2) failures. It can cause panics. How-to-repeat. # dd if=/dev/random of=/test.img bs=1m count=8 # mdconfig -a -t vnode -f /test.img -u 25 # mkdir -p /mnt/test # mount /dev/md25 /mnt/test (fail) # mount /dev/md25 /mnt/test (panic "Memory modified after free ...") This is because on failure mutex is not destroyed. Patch: --- vfs_mount.c.orig Sun Nov 16 15:46:56 2003 +++ vfs_mount.c Sun Nov 16 15:21:48 2003 _at__at_ -1061,6 +1061,7 _at__at_ update: vfs_unbusy(mp, td); else { mp->mnt_vfc->vfc_refcount--; + mtx_destroy(&mp->mnt_mtx); vfs_unbusy(mp, td); #ifdef MAC mac_destroy_mount(mp); _at__at_ -1142,6 +1143,7 _at__at_ update: vp->v_iflag &= ~VI_MOUNT; VI_UNLOCK(vp); mp->mnt_vfc->vfc_refcount--; + mtx_destroy(&mp->mnt_mtx); vfs_unbusy(mp, td); #ifdef MAC mac_destroy_mount(mp); -- Pawel Jakub Dawidek pawel_at_dawidek.net UNIX Systems Programmer/Administrator http://garage.freebsd.pl Am I Evil? Yes, I Am! http://cerber.sourceforge.net
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:29 UTC