diff mbox series

PASN: Don't override kek_len if it is pre-configured

Message ID 20260507191130.36955-3-andrei.otcheretianski@intel.com
State Accepted
Headers show
Series PASN: Don't override kek_len if it is pre-configured | expand

Commit Message

Andrei Otcheretianski May 7, 2026, 7:11 p.m. UTC
kek_len may be set outside of PASN module, for example, in P2P2 pairing
flows. Don't override it.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
---
 src/pasn/pasn_initiator.c | 4 +++-
 src/pasn/pasn_responder.c | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

Comments

Jouni Malinen May 8, 2026, 9:19 p.m. UTC | #1
On Thu, May 07, 2026 at 10:11:29PM +0300, Andrei Otcheretianski wrote:
> kek_len may be set outside of PASN module, for example, in P2P2 pairing
> flows. Don't override it.

Thanks, applied.
diff mbox series

Patch

diff --git a/src/pasn/pasn_initiator.c b/src/pasn/pasn_initiator.c
index 0dbc0cd18d..5ea38affa7 100644
--- a/src/pasn/pasn_initiator.c
+++ b/src/pasn/pasn_initiator.c
@@ -1527,7 +1527,9 @@  int wpas_parse_pasn_frame(struct pasn_data *pasn, u16 auth_type,
 
 	if (pasn->derive_kek) {
 		wpa_printf(MSG_DEBUG, "PASN: Derive PTK-KEK");
-		pasn->kek_len = wpa_kek_len(pasn->akmp, pasn->pmk_len);
+		if (!pasn->kek_len)
+			pasn->kek_len = wpa_kek_len(pasn->akmp,
+						    pasn->pmk_len);
 		wpa_printf(MSG_DEBUG, "PASN: kek_len=%zu", pasn->kek_len);
 	}
 
diff --git a/src/pasn/pasn_responder.c b/src/pasn/pasn_responder.c
index f9c37070c6..a46c17485b 100644
--- a/src/pasn/pasn_responder.c
+++ b/src/pasn/pasn_responder.c
@@ -485,7 +485,9 @@  pasn_derive_keys(struct pasn_data *pasn,
 		own_addr = pasn->mld_addr;
 
 	if (pasn->derive_kek) {
-		pasn->kek_len = wpa_kek_len(pasn->akmp, pasn->pmk_len);
+		if (!pasn->kek_len)
+			pasn->kek_len = wpa_kek_len(pasn->akmp,
+						    pasn->pmk_len);
 		wpa_printf(MSG_DEBUG, "PASN: kek_len=%zu", pasn->kek_len);
 	}
 #endif /* CONFIG_ENC_ASSOC */