Message ID | 1399974849-12353-1-git-send-email-emmanuel.grumbach@intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Tue, 2014-05-13 at 12:54 +0300, Emmanuel Grumbach wrote: > If the association is in progress while we suspend, the > stack will be in a messed up state. Clean it before we > suspend. > > This patch completes Johannes's patch: > > 1a1cb744de160ee70086a77afff605bbc275d291 > Author: Johannes Berg <johannes.berg@intel.com> > > mac80211: fix suspend vs. authentication race > > Cc: <stable@vger.kernel.org> > Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures") > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Applied, thanks. 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
On Tue, 2014-05-13 at 12:54 +0300, Emmanuel Grumbach wrote: > If the association is in progress while we suspend, the > stack will be in a messed up state. Clean it before we > suspend. > > This patch completes Johannes's patch: > > 1a1cb744de160ee70086a77afff605bbc275d291 > Author: Johannes Berg <johannes.berg@intel.com> > > mac80211: fix suspend vs. authentication race > > Cc: <stable@vger.kernel.org> > Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures") > Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> > --- > net/mac80211/mlme.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c > index 139005d..5e4f7ea 100644 > --- a/net/mac80211/mlme.c > +++ b/net/mac80211/mlme.c > @@ -3600,7 +3600,7 @@ void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata) > > sdata_lock(sdata); > > - if (ifmgd->auth_data) { > + if (ifmgd->auth_data || ifmgd->assoc_data) { This can crash if auth_data is NULL (but we use it to build the deauth) - I'm rolling in a fix for that. 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/mac80211/mlme.c b/net/mac80211/mlme.c index 139005d..5e4f7ea 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -3600,7 +3600,7 @@ void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata) sdata_lock(sdata); - if (ifmgd->auth_data) { + if (ifmgd->auth_data || ifmgd->assoc_data) { /* * If we are trying to authenticate while suspending, cfg80211 * won't know and won't actually abort those attempts, thus we @@ -3611,7 +3611,10 @@ void ieee80211_mgd_quiesce(struct ieee80211_sub_if_data *sdata) IEEE80211_STYPE_DEAUTH, WLAN_REASON_DEAUTH_LEAVING, false, frame_buf); - ieee80211_destroy_auth_data(sdata, false); + if (ifmgd->assoc_data) + ieee80211_destroy_assoc_data(sdata, false); + if (ifmgd->auth_data) + ieee80211_destroy_auth_data(sdata, false); cfg80211_tx_mlme_mgmt(sdata->dev, frame_buf, IEEE80211_DEAUTH_FRAME_LEN); }
If the association is in progress while we suspend, the stack will be in a messed up state. Clean it before we suspend. This patch completes Johannes's patch: 1a1cb744de160ee70086a77afff605bbc275d291 Author: Johannes Berg <johannes.berg@intel.com> mac80211: fix suspend vs. authentication race Cc: <stable@vger.kernel.org> Fixes: 12e7f517029d ("mac80211: cleanup generic suspend/resume procedures") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> --- net/mac80211/mlme.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)