Message ID | 20240823131521.3309073-1-alexander.sverdlin@siemens.com |
---|---|
State | New |
Headers | show |
Series | wifi: wfx: repair open network AP mode | expand |
"A. Sverdlin" <alexander.sverdlin@siemens.com> wrote: > From: Alexander Sverdlin <alexander.sverdlin@siemens.com> > > RSN IE missing in beacon is normal in open networks. > Avoid returning -EINVAL in this case. > > Steps to reproduce: > > $ cat /etc/wpa_supplicant.conf > network={ > ssid="testNet" > mode=2 > key_mgmt=NONE > } > > $ wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf > nl80211: Beacon set failed: -22 (Invalid argument) > Failed to set beacon parameters > Interface initialization failed > wlan0: interface state UNINITIALIZED->DISABLED > wlan0: AP-DISABLED > wlan0: Unable to setup interface. > Failed to initialize AP interface > > After the change: > > $ wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf > Successfully initialized wpa_supplicant > wlan0: interface state UNINITIALIZED->ENABLED > wlan0: AP-ENABLED > > Cc: stable@vger.kernel.org > Fixes: fe0a7776d4d1 ("wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap()") > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> > Reviewed-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Patch applied to wireless.git, thanks. 6d30bb88f623 wifi: wfx: repair open network AP mode
diff --git a/drivers/net/wireless/silabs/wfx/sta.c b/drivers/net/wireless/silabs/wfx/sta.c index 216d43c8bd6e..7c04810dbf3d 100644 --- a/drivers/net/wireless/silabs/wfx/sta.c +++ b/drivers/net/wireless/silabs/wfx/sta.c @@ -352,8 +352,11 @@ static int wfx_set_mfp_ap(struct wfx_vif *wvif) ptr = (u16 *)cfg80211_find_ie(WLAN_EID_RSN, skb->data + ieoffset, skb->len - ieoffset); - if (unlikely(!ptr)) + if (!ptr) { + /* No RSN IE is fine in open networks */ + ret = 0; goto free_skb; + } ptr += pairwise_cipher_suite_count_offset; if (WARN_ON(ptr > (u16 *)skb_tail_pointer(skb)))