Michal Kazior <michal.kaz...@tieto.com> writes:

> On 30/04/13 09:58, Kalle Valo wrote:
>> Michal Kazior <michal.kaz...@tieto.com> writes:
>>
>>> We already do decryption and all crypto
>>> verification in HW. mac80211 tries to verify CCMP
>>> for fragmented rx and fails without this patch.
>>>
>>> This fixes fragmented rx on CCMP networks.
>>>
>>> Signed-off-by: Michal Kazior <michal.kaz...@tieto.com>
>>
>> [...]
>>
>>> -   if (info->encrypt_type != HTT_RX_MPDU_ENCRYPT_NONE)
>>> +   if (info->encrypt_type != HTT_RX_MPDU_ENCRYPT_NONE) {
>>>             status->flag |= RX_FLAG_DECRYPTED | RX_FLAG_IV_STRIPPED |
>>>                             RX_FLAG_MMIC_STRIPPED;
>>> +           hdr->frame_control = __cpu_to_le16(
>>> +                           __le16_to_cpu(hdr->frame_control) &
>>> +                           ~IEEE80211_FCTL_PROTECTED);
>>> +   }
>>
>> This looks ugly. Is this a bug in mac80211 which we just workaround in
>> ath10k? Isn't there any other way to fix this? At least this deserves a
>> big comment in the code to explain why we are doing this.
>>
>> I'll apply this anyway, but we need to discuss more about this.
>
> I'm not quite sure whether this is an issue in mac80211 or we should
> be actually stripping the protected flag. b43 driver seems to strip
> the flag as well.

If b43 does the same when I'm happy with this. Just send a new patch
adding a comment to the code as well.

> mac80211 seems to want to do some extra checks for CCMP in fragmented
> rx data path. Perhaps it shouldn't?

IMHO it shouldn't, but I'm no security expert. Maybe you should ask in
the linux-wireless list?

-- 
Kalle Valo
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to