aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: backport upstream fixes for FragAttacksFelix Fietkau2021-05-1623-7/+1466
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the patch series description: Several security issues in the 802.11 implementations were found by Mathy Vanhoef (New York University Abu Dhabi), who has published all the details at https://papers.mathyvanhoef.com/usenix2021.pdf Specifically, the following CVEs were assigned: * CVE-2020-24586 - Fragmentation cache not cleared on reconnection * CVE-2020-24587 - Reassembling fragments encrypted under different keys * CVE-2020-24588 - Accepting non-SPP A-MSDU frames, which leads to payload being parsed as an L2 frame under an A-MSDU bit toggling attack * CVE-2020-26139 - Forwarding EAPOL from unauthenticated sender * CVE-2020-26140 - Accepting plaintext data frames in protected networks * CVE-2020-26141 - Not verifying TKIP MIC of fragmented frames * CVE-2020-26142 - Processing fragmented frames as full frames * CVE-2020-26143 - Accepting fragmented plaintext frames in protected networks * CVE-2020-26144 - Always accepting unencrypted A-MSDU frames that start with RFC1042 header with EAPOL ethertype * CVE-2020-26145 - Accepting plaintext broadcast fragments as full frames * CVE-2020-26146 - Reassembling encrypted fragments with non-consecutive packet numbers * CVE-2020-26147 - Reassembling mixed encrypted/plaintext fragments In general, the scope of these attacks is that they may allow an attacker to * inject L2 frames that they can more or less control (depending on the vulnerability and attack method) into an otherwise protected network; * exfiltrate (some) network data under certain conditions, this is specific to the fragmentation issues. A subset of these issues is known to apply to the Linux IEEE 802.11 implementation (mac80211). Where it is affected, the attached patches fix the issues, even if not all of them reference the exact CVE IDs. In addition, driver and/or firmware updates may be necessary, as well as potentially more fixes to mac80211, depending on how drivers are using it. Specifically, for Intel devices, firmware needs to be updated to the most recently released versions (which was done without any reference to the security issues) to address some of the vulnerabilities. To have a single set of patches, I'm also including patches for the ath10k and ath11k drivers here. We currently don't have information about how other drivers are, if at all, affected. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211/rtl: backport a rtl8192cu AP mode fixRui Salvaterra2021-05-141-0/+118
| | | | | | | | | | Running USB devices in AP mode is never a good idea. That said, fix the TIM issue in rtl8192cu [1], allowing these devices to "work" in AP mode. [1] https://patchwork.kernel.org/project/linux-wireless/patch/20210419065956.6085-1-pkshih@realtek.com/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> (cherry picked from commit eeda8652f1655d4f9c11e9c9f51ddcd3377d119a)
* mac80211: Update to version 5.10.34-1Hauke Mehrtens2021-05-0421-188/+48
| | | | | | | The removed patches were applied upstream and are not needed anymore. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 17ac9849d3ff687c8c14d63e46f3e205adc22a3e)
* mac80211: minstrel_ht: fix issue in calculating success probabilityFelix Fietkau2021-04-281-0/+21
| | | | | | | | Missing braces in a macro were leading to badly working rates sometimes getting a success probabilty of 1.0 Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 12cb52bd0665da33cb5dc64697f1751a8b33fb05)
* mac80211: add client mode connection monitor fixFelix Fietkau2021-04-111-0/+31
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit dfdb28c24aa60cf057ec45cbc11ab48ba2655f53)
* mac80211: support rx timestamps for HE ratesFelix Fietkau2021-04-111-0/+134
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 7d8e14e44f76e18d1696565569ec50ccdce963b3)
* mac80211: merge a few pending tx related fixesFelix Fietkau2021-04-043-0/+142
| | | | | | | Improve performance and fix potential mgmt tx hangs/warnings Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 571aedbc6cbb7a9bfc96bcad543a39d158925cbc)
* mac80211: backport upstream patches for driver disconnectFelix Fietkau2021-04-045-13/+585
| | | | | | | Needed for an mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 5dc501507222b38d731b89c3311d8253b73dd0e7)
* mac80211: Update to version 5.10.16-1Hauke Mehrtens2021-02-1512-185/+19
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Refresh patches againHauke Mehrtens2021-02-1514-110/+124
| | | | | | | A wrong quilt configuration was used last time. Fixes: ed1e234d87fc ("mac80211: refresh patches") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath9k: fix transmitting to stations in dynamic SMPS modeFelix Fietkau2021-02-141-0/+49
| | | | | | | | | | When transmitting to a receiver in dynamic SMPS mode, all transmissions that use multiple spatial streams need to be sent using CTS-to-self or RTS/CTS to give the receiver's extra chains some time to wake up. This fixes the tx rate getting stuck at <= MCS7 for some clients, especially Intel ones, which make aggressive use of SMPS. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix a regression in processing rx statsFelix Fietkau2021-02-141-0/+28
| | | | | | | A logic error caused rx rate update to be missed for any driver not using fast-rx Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: refresh patchesFelix Fietkau2021-02-1412-102/+92
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add minstrel performance improvementsFelix Fietkau2021-02-142-0/+181
| | | | | | Reduce fluctuations in rate selection / statistics Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add decapsulation offload supportFelix Fietkau2021-02-143-2/+593
| | | | | | | On hardware that supports this, this will improve performance by passing 802.3 frames from the hardware to the stack Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix a corner case in encapsulation offload supportFelix Fietkau2021-02-141-0/+53
| | | | | | Fix encryption key selection with WEP Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add fq performace improvementsFelix Fietkau2021-02-144-1/+554
| | | | | | Improves performance under load Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.10-rc6-1Hauke Mehrtens2021-02-1453-3213/+105
| | | | | | | | | The removed patches were applied upstream. This adapts ath10k-ct and mt76 to changed APIs. nl80211.h in iw is updated to match the version from backports. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.9.12-1Hauke Mehrtens2021-02-1453-1450/+177
| | | | | | | | | | | The removed patches were applied upstream. Remove the 300-mac80211-optimize-skb-resizing.patch. This patch was not applied upstream, but it conflicts with upstream changes and needs bigger changes. It was applied with Felix to remove this patch for now. It should be reworked and then send upstream later. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: unify OpenWrt hosted source via @OPENWRTPaul Spooren2021-02-051-3/+3
| | | | | | | | | | | Multiple sources are hosted on OpenWrts source server only. The source URLs to point to the server vary based on different epochs in OpenWrts history. Replace all by @OPENWRT which is an "empty" mirror, therefore using the fallback servers sources.cdn.openwrt.org and sources.openwrt.org. Signed-off-by: Paul Spooren <mail@aparcar.org>
* mac80211: fix station rate table updates on assocFelix Fietkau2021-02-011-0/+38
| | | | | | | | If the driver uses .sta_add, station entries are only uploaded after the sta is in assoc state. Fix early station rate table updates by deferring them until the sta has been uploaded Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix incorrect parameterDavid Bauer2021-02-011-1/+1
| | | | | | | he_mu_beamformer only accepts values of 0 and 1 according to the hostapd documentation. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: convert UniFi Outdoor+ HSR support to OFDavid Bauer2021-02-011-25/+10
| | | | | | | | Enable support for the Ubiquiti UniFi Outdoor+ RF filter via device-tree. The old way of using platform data is not required anymore, as it was only used on the now removed ar71xx target. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix an uninitialized variable warningFelix Fietkau2021-01-265-48/+51
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: minstrel_ht: fix regression in the max_prob_rate fixFelix Fietkau2021-01-261-0/+23
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: remove accidentally duplicated line in minstrel_ht patchFelix Fietkau2021-01-261-2/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add significant minstrel_ht performance improvementsFelix Fietkau2021-01-256-0/+1670
| | | | | | Completely redesign the rate sampling approach Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix rounding error in minstrel_ht throughput calculationFelix Fietkau2021-01-151-0/+34
| | | | | | Fixes rate selection with lower data rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix an uninitialized stack variable in the minstrel updateFelix Fietkau2021-01-142-3/+11
| | | | | | It can lead to out-of-bounds access and invalid rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: improve error handling when adding hostapd configDaniel Golle2021-01-142-8/+8
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: use hostapd PID returned from config_addDaniel Golle2021-01-102-3/+2
| | | | | | | Use PID returned from config_add instead of querying procd when adding configuration to hostapd. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Add wil6210 driverRobert Marko2021-01-051-3/+15
| | | | | | | | | | This patch adds wil6210 driver for Wilocity/QCA based 802.11ad PCI cards. Driver uses cfg80211 and nl80211 but not mac80211. Integration for UCI and LuCI will come in other patches. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: add 802.11ad-supportGary Cooper2021-01-052-1/+7
| | | | | | This adds logic to properly populate defaults in /etc/config/wireless. Signed-off-by: Gary Cooper <gaco@bitmessage.de>
* mac80211: replace legacy minstrel with minstrel_ht, improve rate selectionFelix Fietkau2021-01-038-0/+2586
| | | | | | | Legacy minstrel is essentially unmaintained and was showing poor performance Replace it with minstrel_ht and improve rate selection and sampling behavior Signed-off-by: Felix Fietkau <nbd@nbd.name>
* hostapd: do not restart hostapd instance on wireless restartsFelix Fietkau2020-12-311-1/+1
| | | | | | Add the flag that prevents netifd from killing hostapd/wpa_supplicant Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: nuke DRIVER_11W_SUPPORTDobroslaw Kijowski2020-12-236-16/+16
| | | | | | | | | | | | | | As of hostapd upstream commit 7d2ed8ba "Remove CONFIG_IEEE80211W build parameter" https://w1.fi/cgit/hostap/commit?id=7d2ed8bae86a31dd2df45c24b3f7281d55315482 802.11w feature is always enabled in the build time. It doesn't make sense to opt-in 802.11w per driver as hostapd will always be compiled with this feature enabled. As suggested by Hauke Mehrtens, for now keep 11w enabled in build_features.h for compatibility reasons. This option will be dropped when LuCI is adjusted. Signed-off-by: Dobroslaw Kijowski <dobo90@gmail.com>
* mac80211: fix MAC address allocations when local bit set on base addrPaul Fertser2020-12-221-2/+2
| | | | | | | | | | | | | | | Testing with hwsim reveals two problems: 1. phyX/addresses has two addresses and mac80211_get_addr keeps returning the last one when asked for more; 2. The base address has the local bit set and the operation unsets it. Fix both. Fixes: 866790fd827cb0187353cdf484eb46a9b38fb6ba Reported-by: Zero_Chaos Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* mac80211: do not drop tx nulldata packets on encrypted linksFelix Fietkau2020-12-181-0/+25
| | | | | | Fixes sending out nulldata probing frames Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.8.18-1Hauke Mehrtens2020-12-1619-218/+38
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: add minstrel fixes that fix mt76 issues in legacy modeFelix Fietkau2020-11-122-0/+122
| | | | | | | | Remove deferred sampling code which does not work well with rate tables + probing. Fix tx status handling if the first invalid rate idx is not set to -1 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport the new tasklet APIFelix Fietkau2020-11-121-0/+35
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath9k: enable OEM cards support on x86Rafał Dzięgiel2020-11-041-0/+1
| | | | | | | | | | | A lot of devices running OpenWrt x86 arch (32 or 64 bit) are either "home-made routers" or devices that use PC class OEM components. This commit enables OEM cards support on those devices by default. Signed-off-by: Rafał Dzięgiel <rafostar.github@gmail.com> [reformat commit message] Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: Fix wpa_supplicant config removal ubus callSven Eckelmann2020-10-282-2/+2
| | | | | | | | | | | | | | | If mac80211_setup_supplicant() is called with enabled=0 then it should just destroy the interface and remove the configuration from wpa_supplicant. But the ubus method call always returned Command failed: Method not found because the actual name of the method is "config_remove". Fixes: b5516603dd90 ("mac80211: more wifi reconf related fixes") Signed-off-by: Sven Eckelmann <sven@narfation.org> [bump PKG_RELEASE] Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: pass phy name to hostapd_set_bss_optionsDavid Bauer2020-10-281-1/+1
| | | | | | | | | | | | hostapd_set_bss_options expects the PHY as second and the VIF as third argument. However, only the VIF was passed as second argument without a third argument at all. This was never a problem, as both PHY and VIF were never accessed. However, with FTM support the PHY is needed to determine the HW support when configuring the BSS. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: rt2x00: save survey for every channel visitedMarkov Mikhail2020-10-211-0/+183
| | | | | | | | | | | | | | | rt2800 olny gives you survey for current channel. Survey-based ACS algorithms are failing to perform their job when working with rt2800. Make rt2800 save survey for every channel visited and be able to give away that information. There is a bug registred https://dev.archive.openwrt.org/ticket/19081 and this patch solves the issue. Signed-off-by: Markov Mikhail <markov.mikhail@itmh.ru>
* mac80211: fix memory leak on filtered powersave framesFelix Fietkau2020-10-171-0/+55
| | | | | | | | | | After the status rework, ieee80211_tx_status_ext is leaking un-acknowledged packets for stations in powersave mode. To fix this, move the code handling those packets from __ieee80211_tx_status into ieee80211_tx_status_ext Reported-by: Tobias Waldvogel <tobias.waldvogel@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rt2x00: mt7620: differentiate based on SoC's CHIP_VERDaniel Golle2020-10-092-0/+547
| | | | | | | | | | | | | | | | | | | | | | | The vendor driver does things differently based on what it finds in the SoC's CHIP_VER register, which should tell whether this is MT7620N or MT7620A (PKG) and probably also the revision (VER) and most likely also something about the silicon implementer (ECO). Introduce codepaths just like the ones in the vendor driver to handle the different chips properly. Some of those paths are most likely dead code and left-overs from FPGA versions or early prototypes of the chip. It'd thus be great if people can post their kernel logs, at least the line telling the chip version and eco, so we know what's actually out there in the wild -- all I could find is [ 0.000000] SoC Type: Ralink MT7620A ver:2 eco:6 and [ 0.000000] SoC Type: Ralink MT7620N ver:2 eco:6 which would make things easier, as then we really just need to know whether it's MT7620N or MT7620A and not care about FPGA or prototypes with ver <= 1 and eco <= 2. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: add support for specifying a per-device scan listFelix Fietkau2020-09-291-0/+2
| | | | | | | This is useful to bring up multiple client mode interfaces on a single channel much faster without having to scan through a lot of channels Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport sched_set_fifo_lowFelix Fietkau2020-09-291-0/+32
| | | | | | This is needed for newer mt76 updates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: another fix for the sta connection monitorFelix Fietkau2020-09-291-5/+37
| | | | | | Make the code more closely match the original behavior Signed-off-by: Felix Fietkau <nbd@nbd.name>