If chanctx is missing on a given vif then the band is assumed to be 2GHz. However if hw doesn't support 2GHz band then mac80211 ended up with a NULL dereference. This fixes a splat: [ 4605.207223] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 [ 4605.210789] IP: [<ffffffffa07b5635>] ieee80211_parse_bitrates+0x65/0x110 [mac80211] The splat was preceeded by WARN_ON(!chanctx_conf) in ieee80211_get_sdata_band(). Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> --- net/mac80211/cfg.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index aaa59d7..5513bec 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2002,6 +2002,9 @@ static int ieee80211_change_bss(struct wiphy *wiphy, band = ieee80211_get_sdata_band(sdata); + if (WARN_ON(!wiphy->bands[band])) + return -EINVAL; + if (params->use_cts_prot >= 0) { sdata->vif.bss_conf.use_cts_prot = params->use_cts_prot; changed |= BSS_CHANGED_ERP_CTS_PROT; -- 1.8.5.3 -- 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