Message ID | 1372074644-15280-1-git-send-email-michal.kazior@tieto.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, 2013-06-24 at 13:50 +0200, Michal Kazior wrote: > These two events were sent to the default network > namespace. > > This caused AP mode in a non-default netns to not > work correctly. Mgmt tx status was multicasted to > a different (default) netns instead of the one the > AP was in. Good catch. > @@ -6593,7 +6593,10 @@ void cfg80211_testmode_event(struct sk_buff *skb, gfp_t gfp) > > nla_nest_end(skb, data); > genlmsg_end(skb, hdr); > - genlmsg_multicast(skb, 0, nl80211_testmode_mcgrp.id, gfp); > + > + rcu_read_lock(); > + genlmsg_multicast_allns(skb, 0, nl80211_testmode_mcgrp.id, GFP_ATOMIC); > + rcu_read_unlock(); > } > EXPORT_SYMBOL(cfg80211_testmode_event); I think this one should get a wiphy parameter though, to put it into the right netns. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index b14b7e3..7bafce2 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -6593,7 +6593,10 @@ void cfg80211_testmode_event(struct sk_buff *skb, gfp_t gfp) nla_nest_end(skb, data); genlmsg_end(skb, hdr); - genlmsg_multicast(skb, 0, nl80211_testmode_mcgrp.id, gfp); + + rcu_read_lock(); + genlmsg_multicast_allns(skb, 0, nl80211_testmode_mcgrp.id, GFP_ATOMIC); + rcu_read_unlock(); } EXPORT_SYMBOL(cfg80211_testmode_event); #endif @@ -10028,7 +10031,8 @@ void cfg80211_mgmt_tx_status(struct wireless_dev *wdev, u64 cookie, genlmsg_end(msg, hdr); - genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, gfp); + genlmsg_multicast_netns(wiphy_net(&rdev->wiphy), msg, 0, + nl80211_mlme_mcgrp.id, gfp); return; nla_put_failure:
These two events were sent to the default network namespace. This caused AP mode in a non-default netns to not work correctly. Mgmt tx status was multicasted to a different (default) netns instead of the one the AP was in. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> --- net/wireless/nl80211.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)