Re: svn commit: r237518 - in head: share/man/man9 sys/cam/scsi
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig47FE5512055CB5C1C8DF0872
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable
On 24.06.2012 8:29, Kenneth D. Merry wrote:
> Author: ken
> Date: Sun Jun 24 04:29:03 2012
> New Revision: 237518
> URL: http://svn.freebsd.org/changeset/base/237518
>=20
> Log:
> Fix a bug which causes a panic in daopen(). The panic is caused by
> a da(4) instance going away while GEOM is still probing it.
> =20
> In this case, the GEOM disk class instance has been created by
> disk_create(), and the taste of the disk is queued in the GEOM
> event queue.
> =20
> While that event is queued, the da(4) instance goes away. When the
> open call comes into the da(4) driver, it dereferences the freed
> (but non-NULL) peripheral pointer provided by GEOM, which results
> in a panic.
> =20
> The solution is to add a callback to the GEOM disk code that is
> called when all of its resources are cleaned up. This is
> implemented inside GEOM by adding an optional callback that is
> called when all consumers have detached from a provider, and the
> provider is about to be deleted.
> =20
> geom.h: Add a new, optional, providergone callback that
> is called when a provider is about to be deleted.
> =20
> MFC after: 5 days
This will break ABI. If you want to merge this change,
it is better to use one of spare field in the geom structures.
> @@ -102,6 +103,7 @@ struct g_class {
> g_start_t *start;
> g_spoiled_t *spoiled;
> g_attrchanged_t *attrchanged;
> + g_provgone_t *providergone;
> g_dumpconf_t *dumpconf;
> g_access_t *access;
> g_orphan_t *orphan;
> @@ -133,6 +135,7 @@ struct g_geom {
> g_start_t *start;
> g_spoiled_t *spoiled;
> g_attrchanged_t *attrchanged;
> + g_provgone_t *providergone;
> g_dumpconf_t *dumpconf;
> g_access_t *access;
> g_orphan_t *orphan;
--=20
WBR, Andrey V. Elsukov
--------------enig47FE5512055CB5C1C8DF0872
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
iQEcBAEBAgAGBQJP599zAAoJEAHF6gQQyKF6SR4H/27Fly46TutKiwWR5aa0MwtI
Pit/4fppncPdkWlXnPubNkUfczwCDIKA5XRQQlgSEVVHeSJoSI5LSVMwGShNDQPE
9j6k8xyoI+D2v9lCqHKjgDm8xc3Ju3tw7vjkSZVjaiZ0rrpMUlnh/iwDZWgYIyu3
UUGl/T9VtBV49VeLR3GAk8F/mnr/SQ6pBCCIWeZ8148t9DyZI3AOewSv4kqjXy9/
+8sZcoFo+vKGEpFfU3VkdpiAmL9HTQBN20zWAVX6p/QqPOWsiwo8VhNrPZ70Qk5G
2DnRw8UgS+a498Ur8WFRMjob6XEN2y45yNkg7CisxS1VcZ5Pejq9isHnW9bk848=
=5UXk
-----END PGP SIGNATURE-----
--------------enig47FE5512055CB5C1C8DF0872--
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):