Repository navigation
Conversation
Reject a PMKID count that exceeds the remaining RSN IE before advancing the offset. This prevents unsigned remaining-length underflow and an out-of-bounds group-management-cipher read.
Recognize the exact owe firmware capability and advertise full offload only with firmware-supplicant support. Select the OWE authentication path, let firmware construct the RSNE after PMF parsing, and require association plus firmware handshake completion before authorizing the port. Route initial ROAM success through the same completion barrier, discard idle/stale OWE completion state, and propagate required PMF configuration failures for full OWE without changing legacy-mode return behavior. Link: omacom#215 (comment)
jonkpub
marked this pull request as ready for review
October 28, 2026 13:00
jonkpub
requested review from
chriskearney,
maralcbr and
scottjones
as code owners
October 28, 2026 13:00
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.
BCM4387 on an M1 Pro MacBook Pro could not connect to the OWE/PMF-required PUBLIXGUEST network on Aurora .20. The driver's OWE AKM case was unreachable through its authentication mask, and firmware OWE offload was not advertised or completed correctly.
This change enables full OWE offload only when the firmware advertises the exact
owecapability and supports the firmware supplicant. It selects the OWE authentication path, lets firmware construct the RSNE after PMF configuration, and waits for both association and firmware-handshake completion before authorizing the port. InitialROAMsuccess follows the same completion check; stale completion state is cleared between connection attempts.For full OWE, required PMF remains enforced when the userspace RSNE is omitted, and firmware
mfp/bipconfiguration failures are returned. The first commit separately fixes an existing PMKID-list bounds error that could underflow the remaining IE length before reading the group-management cipher.Validation
7.1.12-2-20261017.20-sep-ARCH; the compiler-version warning is expected (kernel: Clang 22.1.8; local build: Clang 23.1.3). Strict checkpatch reports 0 errors, warnings or checks.wlan0each returned 204. Firmware:20.96.31.0.8.7.148, FWID01-126f2c4c; capabilities:owe=1,extowe=0, firmware supplicant enabled. The earlier functional build also passed ten controlled disconnect/reconnect cycles.roamoff=1.BCM4388, suspend/resume, PSK regression on the final build, firmware roaming and rekey scenarios remain untested. Firmware events do not carry a proven connection-attempt identifier, so correlation of delayed events across overlapping attempts is not established. The upstream PR contains no trial logging, PCI readiness instrumentation, local installer, NetworkManager policy, firmware, calibration, binaries or private diagnostics. The clean source builds successfully; hardware testing used its instrumented functional equivalent.
Related vendor implementations: OWE configuration and OWE support. This is an adapted, capability-gated implementation, not a wholesale vendor cherry-pick.
Refs #215, specifically the BCM4387 report. The original BCM4388 report remains unverified.
Implementation and source review were AI-assisted with Codex; hardware observations are distinguished above from compile and simulated checks.