freebsd-dev/sys/net80211
Andriy Voskoboinyk e42e878b35 net80211: provide rate validation for injected frames.
There may be various side effects (device timeout, firmware and / or
kernel panic) when an invalid (or inapplicable - e.g., an MCS rate
for 11g-only device) is set; check rates before sending the frame to
the driver.

How-to-reproduce:
Set an MCS (real or bogus - with 0x80 bit set) rate in ibp_rate0 field
for any device that uses ieee80211_isratevalid() for rate checks -
rum(4), run(4), ural(4), bwi(4) or ral(4); if kernel is compiled
with INVARIANTS the check will result in "rate %d is basic/mcs?" panic.

Tested with WUSB54GC (rum(4)), AP mode.

MFC after:	1 week
2019-01-13 06:01:36 +00:00
..
_ieee80211.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_acl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_action.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_action.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_adhoc.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_adhoc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ageq.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ageq.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_alq.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_alq.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_amrr.c net80211: fix possible panic for some drivers after r342211 2019-01-12 14:57:12 +00:00
ieee80211_amrr.h
ieee80211_crypto_ccmp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_none.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_tkip.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto_wep.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_crypto.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ddb.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_dfs.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_dfs.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_freebsd.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_freebsd.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_hostap.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_hostap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ht.c kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
ieee80211_ht.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_hwmp.c Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
ieee80211_input.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_input.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ioctl.c net80211: fix panic when device is removed during initialization 2019-01-09 12:50:24 +00:00
ieee80211_ioctl.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_mesh.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_mesh.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_monitor.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_monitor.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_node.c net80211: fix out-of-bounds read in ieee80211_amrr(9). 2018-12-19 03:08:10 +00:00
ieee80211_node.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_output.c net80211: provide rate validation for injected frames. 2019-01-13 06:01:36 +00:00
ieee80211_phy.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_phy.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_power.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_power.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_proto.c [net80211] add a method for checking if a VAP WME AC has a NOACK policy or not. 2017-12-09 23:16:02 +00:00
ieee80211_proto.h net80211: wrap protection frame allocation into ieee80211_alloc_prot() 2018-03-09 11:33:56 +00:00
ieee80211_radiotap.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_radiotap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl_none.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_ratectl.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_regdomain.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_regdomain.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_rssadapt.c net80211: fix possible panic for some drivers after r342211 2019-01-12 14:57:12 +00:00
ieee80211_rssadapt.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_scan_sta.c kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
ieee80211_scan_sw.c [net80211] don't abort a background scan upon reception of a single packet. 2016-10-28 02:09:45 +00:00
ieee80211_scan_sw.h Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
ieee80211_scan.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_scan.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_sta.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_sta.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_superg.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_superg.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_tdma.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_tdma.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_var.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_vht.c Fix build without IEEE80211_DEBUG. 2017-01-10 19:28:40 +00:00
ieee80211_vht.h [net80211] create a helper function to calculate the station facing VHT capabilities. 2017-01-10 05:30:15 +00:00
ieee80211_wds.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_wds.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211_xauth.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee80211.c net80211: Fix ifdetach w/o ifattach, small whitespace cleanup 2018-07-10 23:30:19 +00:00
ieee80211.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00