Re: [PATCH v2] rt2x00: Fix MMIC Countermeasures.

2017-08-07 Thread Michael Skeffington
Sorry about that, I work on other projects that use spaces and I must have
missed that when double checking the patch.  I sent out a new patch with
the correct line length, removal of trailing '.' and indentation fix.

On Mon, Aug 7, 2017 at 2:31 AM, Stanislaw Gruszka  wrote:
> On Thu, Aug 03, 2017 at 11:31:21AM -0400, Michael Skeffingfon wrote:
>> @@ -136,10 +136,19 @@ void rt2800mmio_fill_rxdone(struct queue_entry *entry,
>>*/
>>   rxdesc->flags |= RX_FLAG_MMIC_STRIPPED;
>>
>> - if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS)
>> + if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS) {
>>   rxdesc->flags |= RX_FLAG_DECRYPTED;
>> - else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC)
>> +} else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC) {
>
> Not sure why this happened, but here and on some other places below,
> tab was replaced by spaces resulting in wrong indent.
>
> Stanislaw


Re: [PATCH v2] rt2x00: Fix MMIC Countermeasures.

2017-08-07 Thread Stanislaw Gruszka
On Thu, Aug 03, 2017 at 11:31:21AM -0400, Michael Skeffingfon wrote:
> @@ -136,10 +136,19 @@ void rt2800mmio_fill_rxdone(struct queue_entry *entry,
>*/
>   rxdesc->flags |= RX_FLAG_MMIC_STRIPPED;
>  
> - if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS)
> + if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS) {
>   rxdesc->flags |= RX_FLAG_DECRYPTED;
> - else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC)
> +} else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC) {

Not sure why this happened, but here and on some other places below,
tab was replaced by spaces resulting in wrong indent.

Stanislaw


Re: [PATCH v2] rt2x00: Fix MMIC Countermeasures.

2017-08-04 Thread Kalle Valo
Michael Skeffingfon  writes:

> From: Michael Skeffington 
>
> Set RX_FLAG_DECRYPTED in case of MMIC failure so that 
> ieee80211_rx_h_decrypt() doesnt drop the frame before getting to 
> ieee80211_rx_h_michael_mic_verify().
>
> Signed-off-by: Michael Skeffington 

The commit log is not wrapped to 72 characters per line and the period
is not preferred in the title. But I can fix those.


-- 
Kalle Valo


[PATCH v2] rt2x00: Fix MMIC Countermeasures.

2017-08-03 Thread Michael Skeffingfon
From: Michael Skeffington 

Set RX_FLAG_DECRYPTED in case of MMIC failure so that ieee80211_rx_h_decrypt() 
doesnt drop the frame before getting to ieee80211_rx_h_michael_mic_verify().

Signed-off-by: Michael Skeffington 

---
 drivers/net/wireless/ralink/rt2x00/rt2800mmio.c | 13 +++--
 drivers/net/wireless/ralink/rt2x00/rt2800usb.c  | 15 ---
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c 
b/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c
index ee5276e233fa..ace91a2db756 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800mmio.c
@@ -136,10 +136,19 @@ void rt2800mmio_fill_rxdone(struct queue_entry *entry,
 */
rxdesc->flags |= RX_FLAG_MMIC_STRIPPED;
 
-   if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS)
+   if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS) {
rxdesc->flags |= RX_FLAG_DECRYPTED;
-   else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC)
+} else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC) {
+   /*
+* In order to check the Michael Mic, the packet must 
have
+* been decrypted.  Mac80211 doesnt check the MMIC 
failure 
+* flag to initiate MMIC countermeasures if the decoded 
flag
+* has not been set.
+*/
+   rxdesc->flags |= RX_FLAG_DECRYPTED;
+
rxdesc->flags |= RX_FLAG_MMIC_ERROR;
+}
}
 
if (rt2x00_get_field32(word, RXD_W3_MY_BSS))
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c 
b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
index 685b8e0cd67d..7e5f397c37f9 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
@@ -697,11 +697,20 @@ static void rt2800usb_fill_rxdone(struct queue_entry 
*entry,
 * stripped it from the frame. Signal this to mac80211.
 */
rxdesc->flags |= RX_FLAG_MMIC_STRIPPED;
-
-   if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS)
+
+   if (rxdesc->cipher_status == RX_CRYPTO_SUCCESS) {
+   rxdesc->flags |= RX_FLAG_DECRYPTED;
+} else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC) {
+   /*
+* In order to check the Michael Mic, the packet must 
have
+* been decrypted.  Mac80211 doesnt check the MMIC 
failure 
+* flag to initiate MMIC countermeasures if the decoded 
flag
+* has not been set.
+*/
rxdesc->flags |= RX_FLAG_DECRYPTED;
-   else if (rxdesc->cipher_status == RX_CRYPTO_FAIL_MIC)
+
rxdesc->flags |= RX_FLAG_MMIC_ERROR;
+}
}
 
if (rt2x00_get_field32(word, RXD_W0_MY_BSS))
-- 
2.11.0