Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Nov 2003 11:06:06 +0100
From:      Pawel Jakub Dawidek <nick@garage.freebsd.pl>
To:        freebsd-current@freebsd.org
Subject:   Panic after mount() fail.
Message-ID:  <20031117100606.GK85962@garage.freebsd.pl>

next in thread | raw e-mail | index | archive | help

--WeDu0lr7bteb/II5
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello.

There is a problem with mount(2) failures. It can cause panics.

How-to-repeat.

	# dd if=3D/dev/random of=3D/test.img bs=3D1m count=3D8
	# 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
@@ -1061,6 +1061,7 @@ 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);
@@ -1142,6 +1143,7 @@ update:
 		vp->v_iflag &=3D ~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);

--=20
Pawel Jakub Dawidek                       pawel@dawidek.net
UNIX Systems Programmer/Administrator     http://garage.freebsd.pl
Am I Evil? Yes, I Am!                     http://cerber.sourceforge.net

--WeDu0lr7bteb/II5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iQCVAwUBP7idjj/PhmMH/Mf1AQHrtwQAlb7IdyP/Wium3g4F/PB0icGd3cMaJ+TG
gSX6NZqtk4vhgar7I4AZfhNGt/e4o2kSyjnBonoF0dfRo2EQjcUOCOhjX5CsW80m
uBAfF196bh3oazT/qjstHtfOr/ipPwJ1f19H0KB95lLgFroBL6gujx5dSRnRRrRz
3ASpG8ON0hM=
=JAAE
-----END PGP SIGNATURE-----

--WeDu0lr7bteb/II5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031117100606.GK85962>