IGMP+WiFi panic on recent kernel - in igmp_fasttimo()

Coleman Kane cokane at FreeBSD.org
Mon Mar 16 13:10:02 PDT 2009


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 
> to be handled so I'm not committing it.
> 
>     Sam
> 
> plain text document attachment (mcast.patch)
> Index: in.c
> ===================================================================
> --- 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 != AF_INET)
> +		if (ifma->ifma_addr->sa_family != AF_INET ||
> +		    ifma->ifma_protospec == NULL)
>  			continue;
>  		inm = (struct in_multi *)ifma->ifma_protospec;
>  		LIST_INSERT_HEAD(&purgeinms, inm, inm_link);
> Index: igmp.c
> ===================================================================
> --- igmp.c	(revision 189750)
> +++ igmp.c	(working copy)
> @@ -623,7 +623,8 @@
>  	if (igi->igi_version == IGMP_VERSION_3) {
>  		IF_ADDR_LOCK(ifp);
>  		TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
> -			if (ifma->ifma_addr->sa_family != AF_INET)
> +			if (ifma->ifma_addr->sa_family != AF_INET ||
> +			    ifma->ifma_protospec == NULL)
>  				continue;
>  			inm = (struct in_multi *)ifma->ifma_protospec;
>  			if (inm->inm_state == IGMP_LEAVING_MEMBER) {
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
-- 
Coleman Kane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090316/6536e464/attachment.pgp


More information about the freebsd-current mailing list