hostapd: Fix clearing settings for color switch

cca_settings is used without zero initialization, which may
introduce random values and result in invalid nl80211
attributes.

Without this fix, BSS color switch may fail completely and
the feature becomes non-functional. Initialize the structure
before use.

Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
(cherry picked from commit feb24a676b)
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Wei Zhang
2026-05-27 01:59:58 -07:00
committed by Anuj Mittal
parent 33e7cb8f6c
commit 1000279772
2 changed files with 35 additions and 0 deletions
@@ -0,0 +1,34 @@
From 161327f91d956771996c96ea1b6e4e1cb8dc074c Mon Sep 17 00:00:00 2001
From: Stone Zhang <quic_stonez@quicinc.com>
Date: Mon, 14 Oct 2024 18:47:32 +0800
Subject: [PATCH] hostapd: Fix clearing up settings for color switch
Settings for color switch (struct cca_settings settings)
is used without zero clearing, which causes the member
settings->ubpr->unsol_bcast_probe_resp_intervalettings
to be a random value. It is againsts the NLA policy of
NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT and causes
BSS color switch failure.
Fixes: 654d2395dddf ("BSS coloring: Handling of collision events and triggering CCA")
Signed-off-by: Stone Zhang <quic_stonez@quicinc.com>
Upstream-Status: Backport [https://w1.fi/cgit/hostap.git/commit/?id=161327f91d956771996c96ea1b6e4e1cb8dc074c]
---
src/ap/hostapd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index 5ba2cab2c..90e93b6dc 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -4768,6 +4768,7 @@ static void hostapd_switch_color_timeout_handler(void *eloop_data,
struct cca_settings settings;
int ret;
+ os_memset(&settings, 0, sizeof(settings));
hostapd_cleanup_cca_params(bss);
bss->cca_color = r;
bss->cca_count = 10;
--
2.45.2
@@ -9,6 +9,7 @@ DEPENDS = "libnl openssl"
SRC_URI = " \
http://w1.fi/releases/hostapd-${PV}.tar.gz \
file://0001-Include-base64-for-hostapd-CONFIG_SAE_PK-builds.patch \
file://0002-hostapd-Fix-clearing-up-settings-for-color-switch.patch \
file://defconfig \
file://init \
file://hostapd.service \