Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2009 15:53:30 -0400
From:      Coleman Kane <cokane@FreeBSD.org>
To:        Sam Leffler <sam@freebsd.org>
Cc:        Bruce Simpson <bms@incunabulum.net>, current@freebsd.org, freebsd-net <net@freebsd.org>
Subject:   Re: IGMP+WiFi panic on recent kernel - in igmp_fasttimo()
Message-ID:  <1237233210.84180.20.camel@localhost>
In-Reply-To: <49BC1C66.7030400@freebsd.org>
References:  <1236937253.2282.0.camel@localhost> <49BAEA9F.8020302@incunabulum.net> <49BB0D3E.2020306@incunabulum.net> <49BC1C66.7030400@freebsd.org>

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

--=-jfxLpbIN2j5WK690VAs3
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

The crash that I am seeing (using if_ndis) occurs in igmp_fasttimo...
This patch doesn't fix that, I'll get more info as soon as I can.

On Sat, 2009-03-14 at 14:06 -0700, Sam Leffler wrote:
> This patches avoids the crash.  Not sure how ifma_protospec is supposed=20
> to be handled so I'm not committing it.
>=20
>     Sam
>=20
> plain text document attachment (mcast.patch)
> Index: in.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- in.c	(revision 189750)
> +++ in.c	(working copy)
> @@ -1040,7 +1040,8 @@
>  	 */
>  	IF_ADDR_LOCK(ifp);
>  	TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
> -		if (ifma->ifma_addr->sa_family !=3D AF_INET)
> +		if (ifma->ifma_addr->sa_family !=3D AF_INET ||
> +		    ifma->ifma_protospec =3D=3D NULL)
>  			continue;
>  		inm =3D (struct in_multi *)ifma->ifma_protospec;
>  		LIST_INSERT_HEAD(&purgeinms, inm, inm_link);
> Index: igmp.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- igmp.c	(revision 189750)
> +++ igmp.c	(working copy)
> @@ -623,7 +623,8 @@
>  	if (igi->igi_version =3D=3D IGMP_VERSION_3) {
>  		IF_ADDR_LOCK(ifp);
>  		TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
> -			if (ifma->ifma_addr->sa_family !=3D AF_INET)
> +			if (ifma->ifma_addr->sa_family !=3D AF_INET ||
> +			    ifma->ifma_protospec =3D=3D NULL)
>  				continue;
>  			inm =3D (struct in_multi *)ifma->ifma_protospec;
>  			if (inm->inm_state =3D=3D IGMP_LEAVING_MEMBER) {
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"
--=20
Coleman Kane

--=-jfxLpbIN2j5WK690VAs3
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

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

iEYEABECAAYFAkm+rjIACgkQcMSxQcXat5ceLwCeKuZZnl8aE59M5vaukNPp2Atk
yPYAn0kq9fciOvjO/vKZj+8zh6qxsTXL
=hjdk
-----END PGP SIGNATURE-----

--=-jfxLpbIN2j5WK690VAs3--




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