Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Oct 2004 06:09:35 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 63967 for review
Message-ID:  <200410300609.i9U69ZiC029158@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=63967

Change 63967 by sam@sam_ebb on 2004/10/30 06:09:23

	Hold a refcnt on nodes created by probe request frames;
	this closes a race condition where the refcnt can go to
	zero due to queueing.  May still need to shorten the timeout
	on these nodes so they are reclaimed quickly and not hold
	resources.

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_input.c#8 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_input.c#8 (text+ko) ====

@@ -1931,20 +1931,13 @@
 		}
 		if (allocbs) {
 			/*
-			 * When operating as an AP we discard the node's
-			 * state until the station requests authentication.
-			 * This may be better done by holding it and setting
-			 * a short timer for reclaiming it but reduces the
-			 * possibility of stations flooding us with probe
-			 * requests causing our memory use to grow quickly
-			 * (though this can still happen if they send
-			 * authentication requests).  When operating in ibss
-			 * mode we hold the node but with a zero reference
-			 * count; this is the current convention (XXX).
+			 * When operating in ibss mode we hold the node but
+			 * with a zero reference count; this is the current
+			 * convention (XXX).  For other cases we do nothing
+			 * as the node is created with a short inactivity
+			 * timer (may want to shorten it further here).
 			 */
-			if (ic->ic_opmode == IEEE80211_M_HOSTAP)
-				ieee80211_free_node(ic, ni);
-			else
+			if (ic->ic_opmode == IEEE80211_M_IBSS)
 				ieee80211_unref_node(&ni);
 		}
 		break;



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