Search Linux Wireless

Re: [PATCH] wifi: wfx: repair open network AP mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

On Fri, 2024-08-23 at 15:15 +0200, A. Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
> 
> RSN IE missing in beacon is normal in open networks.
> Avoid returning -ENODEV in this case.

Oops, this is a typo and should have been "-EINVAL".
I'm ready to respin with corrected commit message, but
I'm also OK with a maintainer massaging it.

> 
> 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@xxxxxxxxxxxxxxx
> Fixes: fe0a7776d4d1 ("wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap()")
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/silabs/wfx/sta.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> 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)))

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux