Ver Fonte

Merge tag 'mac80211-for-davem-2016-06-01' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211

Johannes Berg says:

====================
Three small fixes for the current cycle:
 * missing netlink attribute check in hwsim wmediumd (Martin)
 * fast xmit structure alignment fix (Felix)
 * mesh path flush/synchronisation fix (Bob)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller há 9 anos atrás
pai
commit
31843af4dc

+ 1 - 0
drivers/net/wireless/mac80211_hwsim.c

@@ -2776,6 +2776,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2,
 	if (!info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER] ||
 	if (!info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER] ||
 	    !info->attrs[HWSIM_ATTR_FLAGS] ||
 	    !info->attrs[HWSIM_ATTR_FLAGS] ||
 	    !info->attrs[HWSIM_ATTR_COOKIE] ||
 	    !info->attrs[HWSIM_ATTR_COOKIE] ||
+	    !info->attrs[HWSIM_ATTR_SIGNAL] ||
 	    !info->attrs[HWSIM_ATTR_TX_INFO])
 	    !info->attrs[HWSIM_ATTR_TX_INFO])
 		goto out;
 		goto out;
 
 

+ 4 - 0
net/mac80211/mesh.c

@@ -161,6 +161,10 @@ void mesh_sta_cleanup(struct sta_info *sta)
 		del_timer_sync(&sta->mesh->plink_timer);
 		del_timer_sync(&sta->mesh->plink_timer);
 	}
 	}
 
 
+	/* make sure no readers can access nexthop sta from here on */
+	mesh_path_flush_by_nexthop(sta);
+	synchronize_net();
+
 	if (changed)
 	if (changed)
 		ieee80211_mbss_info_change_notify(sdata, changed);
 		ieee80211_mbss_info_change_notify(sdata, changed);
 }
 }

+ 1 - 1
net/mac80211/sta_info.h

@@ -280,7 +280,7 @@ struct ieee80211_fast_tx {
 	u8 sa_offs, da_offs, pn_offs;
 	u8 sa_offs, da_offs, pn_offs;
 	u8 band;
 	u8 band;
 	u8 hdr[30 + 2 + IEEE80211_FAST_XMIT_MAX_IV +
 	u8 hdr[30 + 2 + IEEE80211_FAST_XMIT_MAX_IV +
-	       sizeof(rfc1042_header)];
+	       sizeof(rfc1042_header)] __aligned(2);
 
 
 	struct rcu_head rcu_head;
 	struct rcu_head rcu_head;
 };
 };