Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18379879 authored by Jeff Garzik's avatar Jeff Garzik
Browse files

net/ieee80211: fix more crypto-related build breakage



Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 9b6b0b81
Loading
Loading
Loading
Loading
+17 −2
Original line number Original line Diff line number Diff line
@@ -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)
	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)
	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)
	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)
	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;
+2 −1
Original line number Original line Diff line number Diff line
@@ -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)
	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 */