On 9/10/2019 3:23 PM, Kalle Valo wrote:
Maya Erez <merez@xxxxxxxxxxxxxx> wrote:
Fix a race between cfg80211 add_key call and transmitting of 4/4 EAP
packet. In case the transmit is delayed until after the add key takes
place, message 4/4 will be encrypted with the new key, and the
receiver side (AP) will drop it due to MIC error.
Wil6210 will monitor and look for the transmitted packet 4/4 eap key.
In case add_key takes place before the transmission completed, then
wil6210 will let the FW store the key and wil6210 will notify the FW
to use the PTK key only after 4/4 eap packet transmission was
completed.
This is rather ugly but I guess still ok. Or what do people think?
The idea is similar to what we have in brcmfmac although it looks like a
lot more code. So there seems precedent for the approach.
But for a proper fix you should look at:
[PATCH v2] wpa_supplicant: Send EAPoL-Key frames over NL80211 where available
http://lists.infradead.org/pipermail/hostap/2019-September/040516.html
However, I agree that Denis did a better job with this and we should aim
to use it. It is on my largish TODO list for brcmfmac.
Regards,
Arend