1. 24 4月, 2020 14 次提交
  2. 15 4月, 2020 2 次提交
    • T
      mac80211: fix channel switch trigger from unknown mesh peer · 93e2d04a
      Tamizh chelvam 提交于
      Previously mesh channel switch happens if beacon contains
      CSA IE without checking the mesh peer info. Due to that
      channel switch happens even if the beacon is not from
      its own mesh peer. Fixing that by checking if the CSA
      originated from the same mesh network before proceeding
      for channel switch.
      Signed-off-by: NTamizh chelvam <tamizhr@codeaurora.org>
      Link: https://lore.kernel.org/r/1585403604-29274-1-git-send-email-tamizhr@codeaurora.orgSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      93e2d04a
    • S
      mac80211: fix race in ieee80211_register_hw() · 52e04b4c
      Sumit Garg 提交于
      A race condition leading to a kernel crash is observed during invocation
      of ieee80211_register_hw() on a dragonboard410c device having wcn36xx
      driver built as a loadable module along with a wifi manager in user-space
      waiting for a wifi device (wlanX) to be active.
      
      Sequence diagram for a particular kernel crash scenario:
      
          user-space  ieee80211_register_hw()  ieee80211_tasklet_handler()
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
             |                    |                 |
             |<---phy0----wiphy_register()          |
             |-----iwd if_add---->|                 |
             |                    |<---IRQ----(RX packet)
             |              Kernel crash            |
             |              due to unallocated      |
             |              workqueue.              |
             |                    |                 |
             |       alloc_ordered_workqueue()      |
             |                    |                 |
             |              Misc wiphy init.        |
             |                    |                 |
             |            ieee80211_if_add()        |
             |                    |                 |
      
      As evident from above sequence diagram, this race condition isn't specific
      to a particular wifi driver but rather the initialization sequence in
      ieee80211_register_hw() needs to be fixed. So re-order the initialization
      sequence and the updated sequence diagram would look like:
      
          user-space  ieee80211_register_hw()  ieee80211_tasklet_handler()
          ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
             |                    |                 |
             |       alloc_ordered_workqueue()      |
             |                    |                 |
             |              Misc wiphy init.        |
             |                    |                 |
             |<---phy0----wiphy_register()          |
             |-----iwd if_add---->|                 |
             |                    |<---IRQ----(RX packet)
             |                    |                 |
             |            ieee80211_if_add()        |
             |                    |                 |
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NSumit Garg <sumit.garg@linaro.org>
      Link: https://lore.kernel.org/r/1586254255-28713-1-git-send-email-sumit.garg@linaro.org
      [Johannes: fix rtnl imbalances]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      52e04b4c
  3. 30 3月, 2020 1 次提交
  4. 26 3月, 2020 4 次提交
  5. 20 3月, 2020 7 次提交
  6. 11 3月, 2020 1 次提交
  7. 24 2月, 2020 8 次提交
  8. 22 2月, 2020 1 次提交
  9. 21 2月, 2020 2 次提交