提交 18379879 编写于 作者: J Jeff Garzik

net/ieee80211: fix more crypto-related build breakage

Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 9b6b0b81
...@@ -93,7 +93,7 @@ static void *ieee80211_tkip_init(int key_idx) ...@@ -93,7 +93,7 @@ static void *ieee80211_tkip_init(int key_idx)
if (IS_ERR(priv->tx_tfm_arc4)) { if (IS_ERR(priv->tx_tfm_arc4)) {
printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate "
"crypto API arc4\n"); "crypto API arc4\n");
priv->tfm_arc4 = NULL; priv->tx_tfm_arc4 = NULL;
goto fail; goto fail;
} }
...@@ -102,6 +102,7 @@ static void *ieee80211_tkip_init(int key_idx) ...@@ -102,6 +102,7 @@ static void *ieee80211_tkip_init(int key_idx)
if (IS_ERR(priv->tx_tfm_michael)) { if (IS_ERR(priv->tx_tfm_michael)) {
printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate "
"crypto API michael_mic\n"); "crypto API michael_mic\n");
priv->tx_tfm_michael = NULL;
goto fail; goto fail;
} }
...@@ -110,6 +111,7 @@ static void *ieee80211_tkip_init(int key_idx) ...@@ -110,6 +111,7 @@ static void *ieee80211_tkip_init(int key_idx)
if (IS_ERR(priv->rx_tfm_arc4)) { if (IS_ERR(priv->rx_tfm_arc4)) {
printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate "
"crypto API arc4\n"); "crypto API arc4\n");
priv->rx_tfm_arc4 = NULL;
goto fail; goto fail;
} }
...@@ -118,7 +120,7 @@ static void *ieee80211_tkip_init(int key_idx) ...@@ -118,7 +120,7 @@ static void *ieee80211_tkip_init(int key_idx)
if (IS_ERR(priv->rx_tfm_michael)) { if (IS_ERR(priv->rx_tfm_michael)) {
printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_tkip: could not allocate "
"crypto API michael_mic\n"); "crypto API michael_mic\n");
priv->tfm_michael = NULL; priv->rx_tfm_michael = NULL;
goto fail; goto fail;
} }
...@@ -392,6 +394,19 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -392,6 +394,19 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
return crypto_blkcipher_encrypt(&desc, &sg, &sg, len + 4); return crypto_blkcipher_encrypt(&desc, &sg, &sg, len + 4);
} }
/*
* deal with seq counter wrapping correctly.
* refer to timer_after() for jiffies wrapping handling
*/
static inline int tkip_replay_check(u32 iv32_n, u16 iv16_n,
u32 iv32_o, u16 iv16_o)
{
if ((s32)iv32_n - (s32)iv32_o < 0 ||
(iv32_n == iv32_o && iv16_n <= iv16_o))
return 1;
return 0;
}
static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
{ {
struct ieee80211_tkip_data *tkey = priv; struct ieee80211_tkip_data *tkey = priv;
......
...@@ -50,7 +50,7 @@ static void *prism2_wep_init(int keyidx) ...@@ -50,7 +50,7 @@ static void *prism2_wep_init(int keyidx)
if (IS_ERR(priv->tx_tfm)) { if (IS_ERR(priv->tx_tfm)) {
printk(KERN_DEBUG "ieee80211_crypt_wep: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_wep: could not allocate "
"crypto API arc4\n"); "crypto API arc4\n");
priv->tfm = NULL; priv->tx_tfm = NULL;
goto fail; goto fail;
} }
...@@ -58,6 +58,7 @@ static void *prism2_wep_init(int keyidx) ...@@ -58,6 +58,7 @@ static void *prism2_wep_init(int keyidx)
if (IS_ERR(priv->rx_tfm)) { if (IS_ERR(priv->rx_tfm)) {
printk(KERN_DEBUG "ieee80211_crypt_wep: could not allocate " printk(KERN_DEBUG "ieee80211_crypt_wep: could not allocate "
"crypto API arc4\n"); "crypto API arc4\n");
priv->rx_tfm = NULL;
goto fail; goto fail;
} }
/* start WEP IV from a random value */ /* start WEP IV from a random value */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册