Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Feb 2013 21:30:59 +0000 (UTC)
From:      Monthadar Al Jaberi <monthadar@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r246518 - head/sys/net80211
Message-ID:  <201302072130.r17LUxeR014204@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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) {



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