Page MenuHomeFreeBSD

net80211: correct input_sta length checks and control frame handling
ClosedPublic

Authored by bz on Sep 30 2021, 8:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 11 2024, 4:16 AM
Unknown Object (File)
Feb 29 2024, 4:03 AM
Unknown Object (File)
Jan 19 2024, 1:17 PM
Unknown Object (File)
Jan 14 2024, 8:55 AM
Unknown Object (File)
Jan 9 2024, 8:37 PM
Unknown Object (File)
Dec 29 2023, 7:26 AM
Unknown Object (File)
Dec 20 2023, 8:01 AM
Unknown Object (File)
Dec 12 2023, 5:17 AM
Subscribers

Details

Summary

Correct input_sta "assertion" checks. CTS/ACK CTRL frames are shorter
then sizeof(struct ieee80211_frame_min) and were thus running into the
is_rx_tooshort error case.
Use ieee80211_anyhdrsize() to handle this better but make sure we do
at least have the first 2 octets needed for that.
While here move the safety checks before any code which may not obey
them later, just for good style.

The non-scanning check further down assumes a frame format also not
matching control frames. For now skip the checks for control frames
which allows us to deal with some of them at least now.
We should probably add extra checks for them but I am still contemplating
if this can (or should be) done in a more generic way.

Sponsored by: The FreeBSD Foundation
Obtained from: 20210906 wireless v0.91 code drop
MFC after: 1 week

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable