summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.h
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-08-06 04:56:49 +0000
committersam <sam@FreeBSD.org>2005-08-06 04:56:49 +0000
commit820d1d2e7cf485305dc12b55b60e9cf4588ddcd8 (patch)
tree3b57c38c8b30eb0f5f43845321a51d8b2b5ae9f8 /sys/net80211/ieee80211_node.h
parent82b622da6cd66aa1b7defd0cd1597bfca51d6aa3 (diff)
downloadFreeBSD-src-820d1d2e7cf485305dc12b55b60e9cf4588ddcd8.zip
FreeBSD-src-820d1d2e7cf485305dc12b55b60e9cf4588ddcd8.tar.gz
Fix handling of frames sent prior to a station being authorized
when operating in ap mode. Previously we allocated a node from the station table, sent the frame (using the node), then released the reference that "held the frame in the table". But while the frame was in flight the node might be reclaimed which could lead to problems. The solution is to add an ieee80211_tmp_node routine that crafts a node that does exist in a table and so isn't ever reclaimed; it exists only so long as the associated frame is in flight. MFC after: 5 days
Diffstat (limited to 'sys/net80211/ieee80211_node.h')
-rw-r--r--sys/net80211/ieee80211_node.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h
index 96f642d..c2941c4 100644
--- a/sys/net80211/ieee80211_node.h
+++ b/sys/net80211/ieee80211_node.h
@@ -218,6 +218,8 @@ void ieee80211_node_table_reset(struct ieee80211_node_table *);
struct ieee80211_node *ieee80211_alloc_node(
struct ieee80211_node_table *, const u_int8_t *);
+struct ieee80211_node *ieee80211_tmp_node(struct ieee80211com *,
+ const u_int8_t *macaddr);
struct ieee80211_node *ieee80211_dup_bss(struct ieee80211_node_table *,
const u_int8_t *);
#ifdef IEEE80211_DEBUG_REFCNT
OpenPOWER on IntegriCloud