64845c1f1a
There was a race condition in how the l2_packet sockets got read that could result in the same socket (e.g., non-bridge) to process both the EAP-Success and the immediately following EAPOL-Key msg 1/4 instead of each frame going in alternative order between the bridge and non-bridge sockets. This could be hit, e.g., if the wpa_supplicant process did not have enough CPU to process all the incoming frames without them getting buffered and both sockets reporting frames simultaneously. This resulted in the duplicated EAP-Success frame getting delivered twice for processing and likely also the EAPOL-Key msg 1/4 getting processed twice. While the latter does not do much harm, the former did clear the EAP authentication state and could result in issues. Fix this by extended the l2_packet Linux packet socket workaround for bridge to check for duplicates against the last two received frames instead of just the last one. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> |
||
---|---|---|
.. | ||
ap | ||
common | ||
crypto | ||
drivers | ||
eap_common | ||
eap_peer | ||
eap_server | ||
eapol_auth | ||
eapol_supp | ||
fst | ||
l2_packet | ||
p2p | ||
pae | ||
radius | ||
rsn_supp | ||
tls | ||
utils | ||
wps | ||
lib.rules | ||
Makefile |