From: Ben Greear <greearb@xxxxxxxxxxxxxxx> In an earlier version of this code, testing found that sometimes either sta wasn't found or sta->sdata was NULL. This caused crashes of course. So, add checks with WARN_ON_ONCE to catch these. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> --- net/mac80211/cfg.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 5c61677..1e6dcc3 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -599,7 +599,8 @@ static void ieee80211_get_et_stats(struct wiphy *wiphy, if (sdata->vif.type == NL80211_IFTYPE_STATION) { sta = sta_info_get_bss(sdata, sdata->u.mgd.bssid); - if (!(sta && !WARN_ON(sta->sdata->dev != dev))) + if (sta == NULL || WARN_ON_ONCE(sta->sdata == NULL) + || WARN_ON(sta->sdata->dev != dev)) goto do_survey; i = 0; @@ -625,7 +626,8 @@ static void ieee80211_get_et_stats(struct wiphy *wiphy, } else { list_for_each_entry(sta, &local->sta_list, list) { /* Make sure this station belongs to the proper dev */ - if (sta->sdata->dev != dev) + if (WARN_ON_ONCE(sta->sdata == NULL) || + sta->sdata->dev != dev) continue; i = 0; -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html