3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2026-03-12 10:27:55 +01:00

handshake: clear expiration of pmksa in _steal_pmksa()

When pulling the pmksa out of the handshake object (to cache) we
also need to clear the expiration within the handshake itself. This
will prevent future attempts of setting the PMKSA into the handshake
due to the logic in handshake_state_set_pmksa():

/* checks for both expiration || pmksa being set */
if (s->expiration)
    return false;
This commit is contained in:
James Prestwood 2026-03-09 09:57:46 -07:00 committed by Denis Kenzior
parent 9909efb435
commit c346f2b88d

View File

@ -1268,6 +1268,7 @@ static struct pmksa *handshake_state_steal_pmksa(struct handshake_state *s)
pmksa = l_new(struct pmksa, 1);
pmksa->expiration = s->expiration;
s->expiration = 0;
memcpy(pmksa->spa, s->spa, sizeof(s->spa));
memcpy(pmksa->aa, s->aa, sizeof(s->aa));
memcpy(pmksa->ssid, s->ssid, s->ssid_len);