All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/2] eapol.c: Fix SEGV in eapol_rx_packets at receipt of EAPOL M1 msg
@ 2026-07-08 22:20 Dierk Modrow
  2026-07-08 22:20 ` [PATCH v3 2/2] station.c: Fix SEGV in station_roam_scan_notify on roam scans Dierk Modrow
  0 siblings, 1 reply; 2+ messages in thread
From: Dierk Modrow @ 2026-07-08 22:20 UTC (permalink / raw)
  To: iwd; +Cc: pmenzel, Dierk Modrow

From: Dierk Modrow <dierk.modrow@sew-eurodrive.de>

It fixes a SEGV in eapol_rx_packets at receipt of EAPOL M1 msg at legacy
roaming following a failed FT-handover due to a preceding
ft_auth-/ft_reassoc-timeout. The issue only arises when using
mwifiex / NXP 88W9098 driver for the client's WLAN module.
We have seen the issue with SIEMENS SCALANCE W700 AX APs, but it may
also occur with other AP brands supporting FT-handover.
---
 src/eapol.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/eapol.c b/src/eapol.c
index 372549c6..c2dc4e4c 100644
--- a/src/eapol.c
+++ b/src/eapol.c
@@ -2824,6 +2824,10 @@ void eapol_register(struct eapol_sm *sm)
 
 	l_queue_push_head(state_machines, sm);
 
+	/* workaround against SEGV on fct. eapol_rx_packet by avoiding for two different eapol_frame_watches with different ids, but same eapol_sm ptr */
+	if ((sm->watch_id > 0) && eapol_frame_watch_remove(sm->watch_id)) {
+		l_debug("existing frame_watch for sm=%p with id=%u successfully removed", sm, sm->watch_id);
+	}
 	sm->watch_id = eapol_frame_watch_add(sm->handshake->ifindex,
 						rx_handler, sm);
 	sm->protocol_version = sm->handshake->proto_version;
-- 
2.49.0.windows.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-08 22:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-08 22:20 [PATCH v3 1/2] eapol.c: Fix SEGV in eapol_rx_packets at receipt of EAPOL M1 msg Dierk Modrow
2026-07-08 22:20 ` [PATCH v3 2/2] station.c: Fix SEGV in station_roam_scan_notify on roam scans Dierk Modrow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.