1. 11 1月, 2017 1 次提交
    • J
      cfg80211: wext does not need to set monitor channel in managed mode · 7acec26c
      Jorge Ramirez-Ortiz 提交于
      There is not a valid reason to attempt setting the monitor channel
      while in managed mode. Since this code path only deals with this mode,
      remove the code block.
      
      Johannes: I'll note that the comment indicated it was for backward
      compatibility, but the code wasn't functional since switching the
      monitor channel isn't supported (any more?) when in managed mode, as
      that mode owns the channel configuration. Additionally, since monitor
      can't be done on a managed mode interface, this would only have had
      any effect to start with if a separate monitor interface is present,
      in which case it's better to change the channel through that anyway,
      if even possible.
      Signed-off-by: NJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      7acec26c
  2. 09 1月, 2017 2 次提交
    • A
      cfg80211: NL80211_ATTR_SOCKET_OWNER support for CMD_CONNECT · bd2522b1
      Andrzej Zaborowski 提交于
      Disconnect or deauthenticate when the owning socket is closed if this
      flag is supplied to CMD_CONNECT or CMD_ASSOCIATE.  This may be used
      to ensure userspace daemon doesn't leave an unmanaged connection behind.
      
      In some situations it would be possible to account for that, to some
      degree, in the deamon restart code or in the up/down scripts without
      the use of this attribute.  But there will be systems where the daemon
      can go away for varying periods without a warning due to local resource
      management.
      Signed-off-by: NAndrew Zaborowski <andrew.zaborowski@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bd2522b1
    • J
      cfg80211: size various nl80211 messages correctly · 4ef8c1c9
      Johannes Berg 提交于
      Ilan reported that sometimes nl80211 messages weren't working if
      the frames being transported got very large, which was really a
      problem for userspace-to-kernel messages, but prompted me to look
      at the code.
      
      Upon review, I found various places where variable-length data is
      transported in an nl80211 message but the message isn't allocated
      taking that into account. This shouldn't cause any problems since
      the frames aren't really that long, apart in one place where two
      (possibly very long frames) might not fit.
      
      Fix all the places (that I found) that get variable length data
      from the driver and put it into a message to take the length of
      the variable data into account. The 100 there is just a safe
      constant for the remaining message overhead (it's usually around
      50 for most messages.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4ef8c1c9
  3. 06 1月, 2017 2 次提交
  4. 05 1月, 2017 1 次提交
  5. 04 1月, 2017 1 次提交
  6. 16 12月, 2016 1 次提交
  7. 13 12月, 2016 3 次提交
  8. 09 12月, 2016 3 次提交
    • J
      cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts · e6f462df
      Johannes Berg 提交于
      When mac80211 abandons an association attempt, it may free
      all the data structures, but inform cfg80211 and userspace
      about it only by sending the deauth frame it received, in
      which case cfg80211 has no link to the BSS struct that was
      used and will not cfg80211_unhold_bss() it.
      
      Fix this by providing a way to inform cfg80211 of this with
      the BSS entry passed, so that it can clean up properly, and
      use this ability in the appropriate places in mac80211.
      
      This isn't ideal: some code is more or less duplicated and
      tracing is missing. However, it's a fairly small change and
      it's thus easier to backport - cleanups can come later.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      e6f462df
    • V
      nl80211: Use different attrs for BSSID and random MAC addr in scan req · 2fa436b3
      Vamsi Krishna 提交于
      NL80211_ATTR_MAC was used to set both the specific BSSID to be scanned
      and the random MAC address to be used when privacy is enabled. When both
      the features are enabled, both the BSSID and the local MAC address were
      getting same value causing Probe Request frames to go with unintended
      DA. Hence, this has been fixed by using a different NL80211_ATTR_BSSID
      attribute to set the specific BSSID (which was the more recent addition
      in cfg80211) for a scan.
      
      Backwards compatibility with old userspace software is maintained to
      some extent by allowing NL80211_ATTR_MAC to be used to set the specific
      BSSID when scanning without enabling random MAC address use.
      
      Scanning with random source MAC address was introduced by commit
      ad2b26ab ("cfg80211: allow drivers to support random MAC addresses
      for scan") and the issue was introduced with the addition of the second
      user for the same attribute in commit 818965d3 ("cfg80211: Allow a
      scan request for a specific BSSID").
      
      Fixes: 818965d3 ("cfg80211: Allow a scan request for a specific BSSID")
      Signed-off-by: NVamsi Krishna <vamsin@qti.qualcomm.com>
      Signed-off-by: NJouni Malinen <jouni@qca.qualcomm.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2fa436b3
    • J
      nl80211: fix logic inversion in start_nan() · eeb04a96
      Johannes Berg 提交于
      Arend inadvertently inverted the logic while converting to
      wdev_running(), fix that.
      
      Fixes: 73c7da3d ("cfg80211: add generic helper to check interface is running")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      eeb04a96
  9. 18 11月, 2016 1 次提交
    • J
      cfg80211: limit scan results cache size · 9853a55e
      Johannes Berg 提交于
      It's possible to make scanning consume almost arbitrary amounts
      of memory, e.g. by sending beacon frames with random BSSIDs at
      high rates while somebody is scanning.
      
      Limit the number of BSS table entries we're willing to cache to
      1000, limiting maximum memory usage to maybe 4-5MB, but lower
      in practice - that would be the case for having both full-sized
      beacon and probe response frames for each entry; this seems not
      possible in practice, so a limit of 1000 entries will likely be
      closer to 0.5 MB.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      9853a55e
  10. 17 11月, 2016 1 次提交
    • A
      wireless: fix bogus maybe-uninitialized warning · 10f3366b
      Arnd Bergmann 提交于
      The hostap_80211_rx() function is supposed to set up the mac addresses
      for four possible cases, based on two bits of input data. For
      some reason, gcc decides that it's possible that none of the these
      four cases apply and the addresses remain uninitialized:
      
      drivers/net/wireless/intersil/hostap/hostap_80211_rx.c: In function ‘hostap_80211_rx’:
      arch/x86/include/asm/string_32.h:77:14: warning: ‘src’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      drivers/net/wireless/intel/ipw2x00/libipw_rx.c: In function ‘libipw_rx’:
      arch/x86/include/asm/string_32.h:77:14: error: ‘dst’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      arch/x86/include/asm/string_32.h:78:22: error: ‘*((void *)&dst+4)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
      
      This warning is clearly nonsense, but changing the last case into
      'default' makes it obvious to the compiler too, which avoids the
      warning and probably leads to better object code too.
      
      The same code is duplicated several times in the kernel, so this
      patch uses the same workaround for all copies. The exact configuration
      was hit only very rarely in randconfig builds and I only saw it
      in three drivers, but I assume that all of them are potentially
      affected, and it's better to keep the code consistent.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      10f3366b
  11. 15 11月, 2016 1 次提交
  12. 30 10月, 2016 1 次提交
  13. 28 10月, 2016 4 次提交
  14. 27 10月, 2016 14 次提交
  15. 26 10月, 2016 1 次提交
  16. 19 10月, 2016 2 次提交
  17. 18 10月, 2016 1 次提交