I'm having trouble since I updated from r1616 to r1820.
This part of the r1819 commit looks fishy to me,
--- net80211/ieee80211_wireless.c (revision 1818)
+++ net80211/ieee80211_wireless.c (revision 1819)
@@ -3321,12 +3321,15 @@
if (!IEEE80211_ADDR_EQ(mlme->im_macaddr, vap->iv_dev->broadcast)) {
ni = ieee80211_find_node(&ic->ic_sta,
mlme->im_macaddr);
- if (ni == NULL)
+ if (ni == NULL) {
+ ieee80211_free_node(ni);
return -EINVAL;
because the first thing ieee80211_free_node() does is
struct ieee80211_node_table *nt = ni->ni_table;
so it's going to deref a null pointer. Maybe the _free functions should be converted like other kernel free function to accept NULL as arg?
Tobias.