diff mbox series

[v2] wifi: wilc1000: fix for absent RSN capabilities WFA testcase

Message ID 20230417184145.12593-1-amisha.patel@microchip.com
State Superseded
Headers show
Series [v2] wifi: wilc1000: fix for absent RSN capabilities WFA testcase | expand

Commit Message

Amisha.Patel@microchip.com April 17, 2023, 6:42 p.m. UTC
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@microchip.com>
---
v2 - modified commit log based on review
---
 drivers/net/wireless/microchip/wilc1000/hif.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Kalle Valo April 20, 2023, 12:38 p.m. UTC | #1
<Amisha.Patel@microchip.com> wrote:

> 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@microchip.com>

Please fix your From field, it should be:

From: Amisha Patel <amisha.patel@microchip.com>

Patch set to Changes Requested.
diff mbox series

Patch

diff --git a/drivers/net/wireless/microchip/wilc1000/hif.c b/drivers/net/wireless/microchip/wilc1000/hif.c
index 5adc69d5bcae..a28da5938481 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);
-				}
 			}
 		}
 	}