Patch "wifi: wilc1000: fix for absent RSN capabilities WFA testcase" has been added to the 6.1-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    wifi: wilc1000: fix for absent RSN capabilities WFA testcase

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-wilc1000-fix-for-absent-rsn-capabilities-wfa-te.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0b1c4f0c5f31e05b3cb8fb4554b9b76a5e9c66e7
Author: Amisha Patel <amisha.patel@xxxxxxxxxxxxx>
Date:   Fri Apr 21 18:10:20 2023 +0000

    wifi: wilc1000: fix for absent RSN capabilities WFA testcase
    
    [ Upstream commit 9ce4bb09123e9754996e358bd808d39f5d112899 ]
    
    Mandatory WFA testcase
    CT_Security_WPA2Personal_STA_RSNEBoundsVerification-AbsentRSNCap,
    performs bounds verfication on Beacon and/or Probe response frames. It
    failed and observed the reason to be absence of cipher suite and AKM
    suite in RSN information. To fix this, enable the RSN flag before extracting RSN
    capabilities.
    
    Fixes: cd21d99e595e ("wifi: wilc1000: validate pairwise and authentication suite offsets")
    Signed-off-by: Amisha Patel <amisha.patel@xxxxxxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230421181005.4865-1-amisha.patel@xxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/microchip/wilc1000/hif.c b/drivers/net/wireless/microchip/wilc1000/hif.c
index 67df8221b5aeb..a1b75feec6edf 100644
--- a/drivers/net/wireless/microchip/wilc1000/hif.c
+++ b/drivers/net/wireless/microchip/wilc1000/hif.c
@@ -485,6 +485,9 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *bss,
 		int rsn_ie_len = sizeof(struct element) + rsn_ie[1];
 		int offset = 8;
 
+		param->mode_802_11i = 2;
+		param->rsn_found = true;
+
 		/* extract RSN capabilities */
 		if (offset < rsn_ie_len) {
 			/* skip over pairwise suites */
@@ -494,11 +497,8 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *bss,
 				/* skip over authentication suites */
 				offset += (rsn_ie[offset] * 4) + 2;
 
-				if (offset + 1 < rsn_ie_len) {
-					param->mode_802_11i = 2;
-					param->rsn_found = true;
+				if (offset + 1 < rsn_ie_len)
 					memcpy(param->rsn_cap, &rsn_ie[offset], 2);
-				}
 			}
 		}
 	}



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux