Skip to contentSkip to conversation

WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x52/0x150 [mac80211]()

DISCUSSION [email protected] 4 participants 5 messages May 3, 2011 mac80211

lore
Share & tools
lore
#0 lore raw
Quoted 3 lines

Da: [email protected]
Data: 03/05/2011 12.51
A: "[email protected]"<[email protected]>, "[email protected]"

<[email protected]>

Quoted 2 lines

Cc: "[email protected]"<[email protected]>
Ogg: RE: WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x52/0x150

[mac80211]()

Quoted 11 lines
Quoted 4 lines

I get the warning every few seconds.

Fabio

I failed to regenerate the issue on my setup. I am using WEP40 on Ath5k as station on 32 bit machine. I even tried disabling hw encryption.

Some more details would be helpful.

Thanks
Yogesh

I'm using WEP with 128bit key on a 64bit system using ath5k driver. The hw encryption is configured with the default value. I don't have access right now to the machine, I can provide more details tonight if needed. I can test patches to diagnose the problem.

Regards,
Fabio

#1 lore raw
Quoted 19 lines · On Tue, May 3, 2011 at 4:57 PM, [email protected] <[email protected]> wrote:
Quoted 3 lines

Da: [email protected]
Data: 03/05/2011 12.51
A: "[email protected]"<[email protected]>, "[email protected]"

<[email protected]>

Quoted 2 lines

Cc: "[email protected]"<[email protected]>
Ogg: RE: WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x52/0x150

[mac80211]()

Quoted 11 lines
Quoted 4 lines

I get the warning every few seconds.

Fabio

I failed to regenerate the issue on my setup. I am using WEP40 on Ath5k as station on 32 bit machine. I even tried disabling hw encryption.

Some more details would be helpful.

Thanks
Yogesh

Quoted 7 lines

I'm using WEP with 128bit key on a 64bit system using ath5k driver. The hw encryption is configured with the default value. I don't have access right now to the machine, I can provide more details tonight if needed. I can test patches to diagnose the problem.

Regards,
Fabio

this also hits ath9k i think.
just running a traffic between WEP secured AP will reproduce this issue. saw in set_key call back in ath9k/ath5k

            key->hw_key_idx = ret;
                        /* push IV and Michael MIC generation to stack */
                        key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
                        if (key->cipher == WLAN_CIPHER_SUITE_TKIP)
                                key->flags |= IEEE80211_KEY_FLAG_GENERATE_MM

so may will this help? I don't know whether its a correct and with a quick test the warning gets fixed.

net/mac80211/key.c +0 -0
index ca3c626..49444c8 100644
@@ -102,7 +102,8 @@ static int ieee80211_key_enable_hw_accel(struct

ieee80211_key *key)

        if (!ret) {
                key->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;

- if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+ if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC)||
+ (key->conf.flags &
IEEE80211_KEY_FLAG_GENERATE_IV)))

                        key->local->crypto_tx_tailroom_needed_cnt--;

                return 0;

@@ -161,7 +162,8 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key)

        key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE;

- if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+ if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC)||
+ (key->conf.flags &
IEEE80211_KEY_FLAG_GENERATE_IV)))

                key->local->crypto_tx_tailroom_needed_cnt++;

}

Quoted 7 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 2 lines

so may will this help? I don't know whether its a correct and with a quick test the warning gets fixed.

That should solve our problem with following explanation.

The devices that require IV generation in software need tailroom reservation for ICVs used in TKIP or WEP encryptions.

Currently, decision to skip the tailroom reservation in the tx path was taken only on whether driver wants MMIC to be generated in software or not. Following patch appends IV generation check for such decisions.

net/mac80211/key.c +6 -2
index ca3c626..f3c4deb 100644
@@ -102,7 +102,9 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
 	if (!ret) {
 		key->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;
 
-		if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+		if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
+				(key->conf.flags &
+					IEEE80211_KEY_FLAG_GENERATE_IV)))
 			key->local->crypto_tx_tailroom_needed_cnt--;
 
 		return 0;
@@ -161,7 +163,9 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key)
 
 	key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE;
 
-	if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+	if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
+				(key->conf.flags &
+					IEEE80211_KEY_FLAG_GENERATE_IV)))
 		key->local->crypto_tx_tailroom_needed_cnt++;
 }
 
maintainer
#3 lore raw
Quoted 17 lines · Yogesh Powar
Quoted 2 lines

so may will this help? I don't know whether its a correct and with a quick test the warning gets fixed.

That should solve our problem with following explanation.

The devices that require IV generation in software need tailroom reservation for ICVs used in TKIP or WEP encryptions.

Currently, decision to skip the tailroom reservation in the tx path was taken only on whether driver wants MMIC to be generated in software or not. Following patch appends IV generation check for such decisions.

net/mac80211/key.c +0 -0
index ca3c626..f3c4deb 100644

net/mac80211/key.c static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key) · line 108

Quoted 8 lines
net/mac80211/key.c +3 -1
@@ -102,7 +102,9 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
 	if (!ret) {
 		key->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;
 
-		if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+		if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
+				(key->conf.flags &
+					IEEE80211_KEY_FLAG_GENERATE_IV)))
 			key->local->crypto_tx_tailroom_needed_cnt--;

Can we have a bit nicer code style? :)

Also, need to submit a proper patch with S-o-b etc, and reported-by rossi.

johannes

#4 lore raw
Quoted 29 lines · Johannes Berg
Quoted 17 lines · Yogesh Powar
Quoted 2 lines

so may will this help? I don't know whether its a correct and with a quick test the warning gets fixed.

That should solve our problem with following explanation.

The devices that require IV generation in software need tailroom reservation for ICVs used in TKIP or WEP encryptions.

Currently, decision to skip the tailroom reservation in the tx path was taken only on whether driver wants MMIC to be generated in software or not. Following patch appends IV generation check for such decisions.

net/mac80211/key.c +0 -0
index ca3c626..f3c4deb 100644

net/mac80211/key.c static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key) · line 108

Quoted 8 lines
net/mac80211/key.c +3 -1
@@ -102,7 +102,9 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
       if (!ret) {
               key->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;
 
-             if (!(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC))
+             if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
+                             (key->conf.flags &
+                                     IEEE80211_KEY_FLAG_GENERATE_IV)))
                       key->local->crypto_tx_tailroom_needed_cnt--;

Can we have a bit nicer code style? :)

Quoted 2 lines

Also, need to submit a proper patch with S-o-b etc, and reported-by rossi.

Can please send the patch, with some more testing.

Quoted 4 lines

johannes