Skip to content

Commit

Permalink
mac80211: fix channel switch for chanctx-based drivers
Browse files Browse the repository at this point in the history
The new_ctx pointer is set only for non-chanctx drivers.  This yielded a
crash for chanctx-based drivers during channel switch finalization:

  BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
  IP: ieee80211_vif_use_reserved_switch+0x71c/0xb00 [mac80211]

Use an adequate chanctx pointer to fix this.

Reported-by: Linus Torvalds <[email protected]>
Signed-off-by: Michal Kazior <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Michal Kazior authored and torvalds committed Aug 22, 2014
1 parent 433ab34 commit 47e4df9
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/mac80211/chan.c
Original file line number Diff line number Diff line change
Expand Up @@ -1444,7 +1444,7 @@ ieee80211_vif_use_reserved_switch(struct ieee80211_local *local)

list_del(&sdata->reserved_chanctx_list);
list_move(&sdata->assigned_chanctx_list,
&new_ctx->assigned_vifs);
&ctx->assigned_vifs);
sdata->reserved_chanctx = NULL;

ieee80211_vif_chanctx_reservation_complete(sdata);
Expand Down

0 comments on commit 47e4df9

Please sign in to comment.