Page MenuHomeFreeBSD

net80211: don't dereference a NULL HTINFO IE if it's presented
ClosedPublic

Authored by adrian on Jun 11 2025, 6:19 PM.
Referenced Files
F174006826: D50794.diff
Tue, Sep 29, 10:36 PM
F173998880: D50794.diff
Tue, Sep 29, 9:11 PM
Unknown Object (File)
Tue, Sep 29, 6:07 PM
Unknown Object (File)
Sun, Sep 20, 4:31 AM
Unknown Object (File)
Sat, Sep 19, 7:31 AM
Unknown Object (File)
Tue, Sep 8, 4:03 PM
Unknown Object (File)
Wed, Sep 2, 12:32 PM
Unknown Object (File)
Wed, Sep 2, 7:16 AM

Details

Summary

ieee80211_vht_get_vhtflags() is checking the htinfo IE for the
20/40MHz flag as part of deciding valid channel widths.

However, in the hostapd path, the ASSOC_REQ/REASSOC_REQ path
will parse the IEs, do some HT/VHT setup, then call
ieee80211_ht_updatehtcap_final(). In a HT ASSOC/REASSOC request
there won't be a HTINFO IE, however ieee80211_vht_get_vhtflags()
still checks for it, leading to a panic.

Instead, treat it as if we don't yet know if it's HT40 or not.
I'm not sure if we should do that or have it just do
_RETURN_CHAN_BITS(0).

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 64763
Build 61647: arc lint + arc unit