svn commit: r246518 - head/sys/net80211

Monthadar Al Jaberi monthadar at FreeBSD.org
Thu Feb 7 21:30:59 UTC 2013


Author: monthadar
Date: Thu Feb  7 21:30:58 2013
New Revision: 246518
URL: http://svnweb.freebsd.org/changeset/base/246518

Log:
  Mesh HWMP PERR bug fixes.
  
  * When calling ieee80211_mesh_rt_flush_peer, the rt->rt_dest argument
    should not be passed because it can get freed before invalidating
    the other routes that depends on it to compare with next_hop.
    Use PERR_DADDR(i) instead;
  
  Approved by:	adrian (mentor)

Modified:
  head/sys/net80211/ieee80211_hwmp.c

Modified: head/sys/net80211/ieee80211_hwmp.c
==============================================================================
--- head/sys/net80211/ieee80211_hwmp.c	Thu Feb  7 21:30:29 2013	(r246517)
+++ head/sys/net80211/ieee80211_hwmp.c	Thu Feb  7 21:30:58 2013	(r246518)
@@ -1570,7 +1570,7 @@ hwmp_recv_perr(struct ieee80211vap *vap,
 			    "PERR, unknown reason code %u\n", PERR_DFLAGS(i));
 			goto done; /* XXX: stats?? */
 		}
-		ieee80211_mesh_rt_flush_peer(vap, rt->rt_dest);
+		ieee80211_mesh_rt_flush_peer(vap, PERR_DADDR(i));
 		KASSERT(j < 32, ("PERR, error ndest >= 32 (%u)", j));
 	}
 	if (j == 0) {


More information about the svn-src-head mailing list