IGMP+WiFi panic on recent kernel - in igmp_fasttimo()
Sam Leffler
sam at freebsd.org
Sat Mar 14 14:06:48 PDT 2009
This patches avoids the crash. Not sure how ifma_protospec is supposed
to be handled so I'm not committing it.
Sam
-------------- next part --------------
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) {
More information about the freebsd-net
mailing list