ieee80211: validate aggregate lengths before deaggregation - #1205
Open
mgonzalezlopezudc wants to merge 2 commits into
Open
mgonzalezlopezudc wants to merge 2 commits into
mgonzalezlopezudc wants to merge 2 commits into
Conversation
An oversized subframe or truncated padding previously advanced packet cursors beyond the aggregate. Validate the entire body before consuming input or producing output; failure preserves caller ownership and both live A-MSDU receive paths discard the malformed packet. Emit successful-deaggregation statistics only for validated input. Unit cases cover truncated headers, payloads, padding, malformed later subframes, empty delimiters and valid controls. The A-MPDU helper has no production caller on this baseline; this change does not claim delimiter CRC validation or receive-path integration for it. Change: src.ieee80211.aggregation | behavior.change.fix | test | wifi-audit
Exercise the production QoS receive entry point after helper bounds coverage: malformed input must emit one drop with no delivery or successful-deaggregation observation. A valid subsequent aggregate must still deliver its payload. Change: tests | behavior.add | test | wifi-audit
mgonzalezlopezudc
marked this pull request as ready for review
September 16, 2026 09:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Malformed subframe lengths could cause packet-boundary exceptions. Preflight aggregate bounds before mutation, preserve caller ownership on failure, and discard failed A-MSDU deaggregation through the recipient service.
Scope
A-MSDU/A-MPDU helpers, IMsduDeaggregation validation contract, and live QoS recipient service.
Dependencies and merge order
No prerequisite within this audit series; this topic was built and tested independently on the pinned base.
Validation
Pinned test base:
7287f347aaca36e557c708d6930a6f5a450b2833.The isolated topic head passed an assertions-enabled debug build (
-O0 -Wall -g0; debug symbols omitted for storage) and the focused checks below. The larger integration source tree also passed debug and release compilation; no separate release build is claimed for this topic.Executed focused test commands, from the repository root after
source setenv -q:Results: 3 unit, 1 module cases passed.
Limits and review status
A-MPDU has no production caller on this base; BAR-release cleanup has static review but no runtime regression.
Draft pending final independent review and reconciliation with current upstream. Live PR overlap has not been reverified against the pinned test base.