Re: [PATCH] station: check return of handshake_state_set_pmksa
Denis Kenzior <[email protected]> Wed, 3 Dec 2025 16:19:27 -0600
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <[email protected]> |
Hi James,
On 12/3/25 9:03 AM, James Prestwood wrote:
> If this fails num_pmkids and pmkids would get set, but to an
> uninitialized buffer. This would then fail to build the handshake
> object later when copying the PMKID.
> ---
> src/station.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/src/station.c b/src/station.c
> index 50997f5f..6c9e8d13 100644
> --- a/src/station.c
> +++ b/src/station.c
> @@ -1378,9 +1378,13 @@ build_ie:
> bss->ssid, bss->ssid_len,
> info.akm_suites);
> if (pmksa) {
> - handshake_state_set_pmksa(hs, pmksa);
> - info.num_pmkids = 1;
> - info.pmkids = hs->pmksa->pmkid;
> + if (!handshake_state_set_pmksa(hs, pmksa)) {
This seems fishy. Are you sure you're not masking the real issue here? Would
this possibly be related to fast transition re-using an old handshake? Maybe we
should not try to use or set the PMKSA for FT ?
> + l_warn("failed to set PMKSA to handshake");
> + pmksa_cache_free(pmksa);
> + } else {
> + info.num_pmkids = 1;
> + info.pmkids = hs->pmksa->pmkid;
> + }
> }
> }
>
Regards,
-Denis