Skip to contentSkip to conversation

tkip: remove unused function, other cleanups

PATCH In review Harvey Harrison 2 participants 3 messages Mar 8, 2008 – Mar 10, 2008 mac80211

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 tkip: remove unused function, other cleanups

tkip_S had an opencoded bswab16
make static void ieee80211_tkip_gen_rc4key static
remove the unused ieee80211_tkip_gen_phase1key

---
 net/mac80211/tkip.c |   22 ++++------------------
 net/mac80211/tkip.h |    4 ----
 2 files changed, 4 insertions(+), 22 deletions(-)
net/mac80211/tkip.c +4 -18
index 3abe194..d08a6d8 100644
@@ -10,8 +10,8 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/netdevice.h>
-
 #include <net/mac80211.h>
+
 #include "ieee80211_key.h"
 #include "tkip.h"
 #include "wep.h"
@@ -98,15 +98,11 @@ static inline u16 RotR1(u16 v)
 }
 
 
-static inline u16 tkip_S(u16 val)
+static u16 tkip_S(u16 val)
 {
-	u16 a = tkip_sbox[Hi8(val)];
-
-	return tkip_sbox[Lo8(val)] ^ Hi8(a) ^ (Lo8(a) << 8);
+	return tkip_sbox[val & 0xff] ^ __swab16(tkip_sbox[val >> 8]);
 }
 
-
-
 /* P1K := Phase1(TA, TK, TSC)
  * TA = transmitter address (48 bits)
  * TK = dot11DefaultKeyValue or dot11KeyMappingValue (128 bits)
@@ -190,15 +186,7 @@ u8 * ieee80211_tkip_add_iv(u8 *pos, struct ieee80211_key *key,
 	return pos;
 }
 
-
-void ieee80211_tkip_gen_phase1key(struct ieee80211_key *key, u8 *ta,
-				  u16 *phase1key)
-{
-	tkip_mixing_phase1(ta, &key->conf.key[ALG_TKIP_TEMP_ENCR_KEY],
-			   key->u.tkip.iv32, phase1key);
-}
-
-void ieee80211_tkip_gen_rc4key(struct ieee80211_key *key, u8 *ta,
+static void ieee80211_tkip_gen_rc4key(struct ieee80211_key *key, u8 *ta,
 			       u8 *rc4key)
 {
 	/* Calculate per-packet key */
@@ -345,5 +333,3 @@ int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm,
 
 	return res;
 }
-
-
net/mac80211/tkip.h +0 -4
index 73d8ef2..944d5fa 100644
@@ -15,10 +15,6 @@
 
 u8 * ieee80211_tkip_add_iv(u8 *pos, struct ieee80211_key *key,
 			   u8 iv0, u8 iv1, u8 iv2);
-void ieee80211_tkip_gen_phase1key(struct ieee80211_key *key, u8 *ta,
-				  u16 *phase1key);
-void ieee80211_tkip_gen_rc4key(struct ieee80211_key *key, u8 *ta,
-			       u8 *rc4key);
 void ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm,
 				 struct ieee80211_key *key,
 				 u8 *pos, size_t payload_len, u8 *ta);
Signature · 1 line
1.5.4.GIT
maintainer
#1 lore raw

net/mac80211/tkip.c static inline u16 RotR1(u16 v) · line 103

Quoted 8 lines
net/mac80211/tkip.c +2 -4
-static inline u16 tkip_S(u16 val)
+static u16 tkip_S(u16 val)
 {
-	u16 a = tkip_sbox[Hi8(val)];
-
-	return tkip_sbox[Lo8(val)] ^ Hi8(a) ^ (Lo8(a) << 8);
+	return tkip_sbox[val & 0xff] ^ __swab16(tkip_sbox[val >> 8]);

What's wrong with using the non-underscored versions? This is pure kernel code...

johannes

#2 lore raw
Quoted 10 lines · Johannes Berg

net/mac80211/tkip.c static inline u16 RotR1(u16 v) · line 103

Quoted 7 lines
net/mac80211/tkip.c +2 -4
-static inline u16 tkip_S(u16 val)
+static u16 tkip_S(u16 val)
 {
-	u16 a = tkip_sbox[Hi8(val)];
-
-	return tkip_sbox[Lo8(val)] ^ Hi8(a) ^ (Lo8(a) << 8);
+	return tkip_sbox[val & 0xff] ^ __swab16(tkip_sbox[val >> 8]);

What's wrong with using the non-underscored versions? This is pure kernel code...

That was a thinko on my part, I resent this in a 5-patch series shortly thereafter without the underscores (the alignment problems you noted in 2/2 still remain).

Thanks for the comments.

Harvey