NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/39307 (mfs will sometimes panic at umount time)
The following reply was made to PR kern/39307; it has been noted by GNATS.
From: Quentin Garnier <cube%cubidou.net@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/39307 (mfs will sometimes panic at umount time)
Date: Wed, 24 Sep 2008 16:00:21 +0200
--VZekXYd/M+CUZV2i
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, Sep 24, 2008 at 09:46:20AM +0000, ad%NetBSD.org@localhost wrote:
> Synopsis: mfs will sometimes panic at umount time
>=20
> State-Changed-From-To: open->feedback
> State-Changed-By: ad%NetBSD.org@localhost
> State-Changed-When: Wed, 24 Sep 2008 09:46:18 +0000
> State-Changed-Why:
> Should be fixed - please verify.
It made the failure different this morning. However, it was a quick
test so I might have left a few asserts of my own in that kernel. I'll
have more time to test tonight.
Looking at your changes, however, I don't see how they could prevent the
panic. What I think is happening is a race between umount(2) and
mfs_mount(8).
The former will do its job and the necessary references are released.
That will signal mfs_mount(8) somehow, which is still in VFS_START at
that point. It will go ahead with doumount() which will do the final
call to vfs_destroy(), which in turns destroys the struct mount.
When mfs_start() returns to VFS_START, the pointer to the struct mount
is dereferenced and that's where it crashes.
It works when mfs_mount(8) gets signaled and to run before umount(2) is
finshed, so that the end of VFS_START can dereference the struct mount.
--=20
Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost
"See the look on my face from staying too long in one place
[...] every time the morning breaks I know I'm closer to falling"
KT Tunstall, Saving My Face, Drastic Fantastic, 2007.
--VZekXYd/M+CUZV2i
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (NetBSD)
iQEcBAEBAgAGBQJI2kf1AAoJENgoQloHrPnoi0IH/jtaP9a2bNssqc4LXItbTIkj
IAuK4T8+h/ClzWDwcEHT8Auaaj4KdajG5r9Q9LblDQxKNcS7Vq+OZd6e0t0ulsnu
+V3djYFL2LIjatmfDypiSrmgx0A+9t6ZuDN6WHFTdNXNMNPFBUHy9+DmgrX0UPxQ
OsePcJjwqi//qAwBbWqKIx+FhTUYhif0hJnwACaJqiUFpYQx0EWPat2yhJF0cggU
3M9eBgl+dPCGbeslbiBqIqr51YF5RMTI4dPZq4FxCwV7VqEefwEj7XBOihrT1WsV
iDilhEkovhTdzDdt1gbq6RJCWhJvXPG9atojY7cE8TdDSP9AhvrWqG++A9QV4WE=
=N9fI
-----END PGP SIGNATURE-----
--VZekXYd/M+CUZV2i--
Home |
Main Index |
Thread Index |
Old Index