1. 04 Dec, 2015 37 commits
  2. 02 Dec, 2015 3 commits
    • Johannes Berg's avatar
      mac80211: fix off-channel mgmt-tx uninitialized variable usage · c1df932c
      Johannes Berg authored
      In the last change here, I neglected to update the cookie in one code
      path: when a mgmt-tx has no real cookie sent to userspace as it doesn't
      wait for a response, but is off-channel. The original code used the SKB
      pointer as the cookie and always assigned the cookie to the TX SKB in
      ieee80211_start_roc_work(), but my change turned this around and made
      the code rely on a valid cookie being passed in.
      
      Unfortunately, the off-channel no-wait TX path wasn't assigning one at
      all, resulting in an uninitialized stack value being used. This wasn't
      handed back to userspace as a cookie (since in the no-wait case there
      isn't a cookie), but it was tested for non-zero to distinguish between
      mgmt-tx and off-channel.
      
      Fix this by assigning a dummy non-zero cookie unconditionally, and get
      rid of a misleading comment and some dead code while at it. I'll clean
      up the ACK SKB handling separately later.
      
      Fixes: 3b79af97 ("mac80211: stop using pointers as userspace cookies")
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c1df932c
    • Antonio Quartulli's avatar
      mac80211: do not actively scan DFS channels · 4e39ccac
      Antonio Quartulli authored
      DFS channels should not be actively scanned as we can't be sure
      if we are allowed or not.
      
      If the current channel is in the DFS band, active scan might be
      performed after CSA, but we have no guarantee about other channels,
      therefore it is safer to prevent active scanning at all.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAntonio Quartulli <antonio@open-mesh.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      4e39ccac
    • Eliad Peller's avatar
      mac80211: don't teardown sdata on sdata stop · 835112b2
      Eliad Peller authored
      Interfaces are being initialized (setup) on addition,
      and torn down on removal.
      
      However, p2p device is being torn down when stopped,
      resulting in the next p2p start operation being done
      on uninitialized interface.
      
      Solve it by calling ieee80211_teardown_sdata() only
      on interface removal (for the non-netdev case).
      Signed-off-by: default avatarEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      [squashed in fix to call teardown after unregister]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      835112b2