1. 01 3月, 2022 1 次提交
    • J
      mac80211: treat some SAE auth steps as final · 94d9864c
      Johannes Berg 提交于
      When we get anti-clogging token required (added by the commit
      mentioned below), or the other status codes added by the later
      commit 4e56cde1 ("mac80211: Handle special status codes in
      SAE commit") we currently just pretend (towards the internal
      state machine of authentication) that we didn't receive anything.
      
      This has the undesirable consequence of retransmitting the prior
      frame, which is not expected, because the timer is still armed.
      
      If we just disarm the timer at that point, it would result in
      the undesirable side effect of being in this state indefinitely
      if userspace crashes, or so.
      
      So to fix this, reset the timer and set a new auth_data->waiting
      in order to have no more retransmissions, but to have the data
      destroyed when the timer actually fires, which will only happen
      if userspace didn't continue (i.e. crashed or abandoned it.)
      
      Fixes: a4055e74 ("mac80211: Don't destroy auth data in case of anti-clogging")
      Reported-by: NJouni Malinen <j@w1.fi>
      Link: https://lore.kernel.org/r/20220224103932.75964e1d7932.Ia487f91556f29daae734bf61f8181404642e1eec@changeidSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      94d9864c
  2. 04 1月, 2022 1 次提交
  3. 26 11月, 2021 1 次提交
  4. 21 10月, 2021 1 次提交
  5. 23 9月, 2021 4 次提交
  6. 26 8月, 2021 1 次提交
  7. 24 8月, 2021 1 次提交
  8. 17 8月, 2021 1 次提交
  9. 13 8月, 2021 1 次提交
  10. 23 7月, 2021 1 次提交
  11. 24 6月, 2021 1 次提交
    • T
      mac80211: Switch to a virtual time-based airtime scheduler · 2433647b
      Toke Høiland-Jørgensen 提交于
      This switches the airtime scheduler in mac80211 to use a virtual
      time-based scheduler instead of the round-robin scheduler used before.
      This has a couple of advantages:
      
      - No need to sync up the round-robin scheduler in firmware/hardware with
        the round-robin airtime scheduler.
      
      - If several stations are eligible for transmission we can schedule both
        of them; no need to hard-block the scheduling rotation until the head
        of the queue has used up its quantum.
      
      - The check of whether a station is eligible for transmission becomes
        simpler (in ieee80211_txq_may_transmit()).
      
      The drawback is that scheduling becomes slightly more expensive, as we
      need to maintain an rbtree of TXQs sorted by virtual time. This means
      that ieee80211_register_airtime() becomes O(logN) in the number of
      currently scheduled TXQs because it can change the order of the
      scheduled stations. We mitigate this overhead by only resorting when a
      station changes position in the tree, and hopefully N rarely grows too
      big (it's only TXQs currently backlogged, not all associated stations),
      so it shouldn't be too big of an issue.
      
      To prevent divisions in the fast path, we maintain both station sums and
      pre-computed reciprocals of the sums. This turns the fast-path operation
      into a multiplication, with divisions only happening as the number of
      active stations change (to re-compute the current sum of all active
      station weights). To prevent this re-computation of the reciprocal from
      happening too frequently, we use a time-based notion of station
      activity, instead of updating the weight every time a station gets
      scheduled or de-scheduled. As queues can oscillate between empty and
      occupied quite frequently, this can significantly cut down on the number
      of re-computations. It also has the added benefit of making the station
      airtime calculation independent on whether the queue happened to have
      drained at the time an airtime value was accounted.
      Co-developed-by: NYibo Zhao <yiboz@codeaurora.org>
      Signed-off-by: NYibo Zhao <yiboz@codeaurora.org>
      Signed-off-by: NToke Høiland-Jørgensen <toke@redhat.com>
      Link: https://lore.kernel.org/r/20210623134755.235545-1-toke@redhat.comSigned-off-by: NJohannes Berg <johannes.berg@intel.com>
      2433647b
  12. 23 6月, 2021 3 次提交
  13. 01 6月, 2021 1 次提交
  14. 12 5月, 2021 3 次提交
  15. 19 4月, 2021 1 次提交
  16. 26 1月, 2021 1 次提交
  17. 22 1月, 2021 1 次提交
  18. 21 1月, 2021 1 次提交
  19. 11 12月, 2020 3 次提交
  20. 11 11月, 2020 1 次提交
  21. 08 11月, 2020 1 次提交
  22. 08 10月, 2020 1 次提交
  23. 28 9月, 2020 6 次提交
  24. 18 9月, 2020 3 次提交