3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-22 06:29:23 +01:00

ft: remove frame type check in FT

A user reported that IWD was failing to FT in some cases and this was
due to the AP setting the Retry bit in the frame type. This was
unexpected by IWD since it directly checks the frame type against
0x00b0 which does not account for any B8-B15 bits being set.

IWD doesn't need to verify the frame type field for a few reasons:
First mpdu_validate checks the management frame type, Second the kernel
checks prior to forwarding the event. Because of this the check was
removed completely.

Reported-By: Michael Johnson <mjohnson459@gmail.com>
This commit is contained in:
James Prestwood 2022-05-23 11:16:49 -07:00 committed by Denis Kenzior
parent ce227e7b94
commit 7104e12667

View File

@ -122,16 +122,11 @@ static bool ft_parse_authentication_resp_frame(const uint8_t *data, size_t len,
uint16_t *out_status, const uint8_t **out_ies,
size_t *out_ies_len)
{
const uint16_t frame_type = 0x00b0;
uint16_t status = 0;
if (len < 30)
return false;
/* Check FC == Management Frame -> Authentication */
if (l_get_le16(data + 0) != frame_type)
return false;
if (memcmp(data + 4, addr1, 6))
return false;
if (memcmp(data + 10, addr2, 6))