Commit bc31d3b2 authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller

[IPSEC] ah: Remove keys from ah_data structure

The keys are only used during initialisation so we don't need to carry them
in esp_data.  Since we don't have to allocate them again, there is no need
to place a limit on the authentication key length anymore.
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4b7137ff
No related merge requests found
...@@ -9,8 +9,6 @@ ...@@ -9,8 +9,6 @@
struct ah_data struct ah_data
{ {
u8 *key;
int key_len;
u8 *work_icv; u8 *work_icv;
int icv_full_len; int icv_full_len;
int icv_trunc_len; int icv_trunc_len;
......
...@@ -219,10 +219,6 @@ static int ah_init_state(struct xfrm_state *x) ...@@ -219,10 +219,6 @@ static int ah_init_state(struct xfrm_state *x)
if (!x->aalg) if (!x->aalg)
goto error; goto error;
/* null auth can use a zero length key */
if (x->aalg->alg_key_len > 512)
goto error;
if (x->encap) if (x->encap)
goto error; goto error;
...@@ -230,14 +226,13 @@ static int ah_init_state(struct xfrm_state *x) ...@@ -230,14 +226,13 @@ static int ah_init_state(struct xfrm_state *x)
if (ahp == NULL) if (ahp == NULL)
return -ENOMEM; return -ENOMEM;
ahp->key = x->aalg->alg_key;
ahp->key_len = (x->aalg->alg_key_len+7)/8;
tfm = crypto_alloc_hash(x->aalg->alg_name, 0, CRYPTO_ALG_ASYNC); tfm = crypto_alloc_hash(x->aalg->alg_name, 0, CRYPTO_ALG_ASYNC);
if (IS_ERR(tfm)) if (IS_ERR(tfm))
goto error; goto error;
ahp->tfm = tfm; ahp->tfm = tfm;
if (crypto_hash_setkey(tfm, ahp->key, ahp->key_len)) if (crypto_hash_setkey(tfm, x->aalg->alg_key,
(x->aalg->alg_key_len + 7) / 8))
goto error; goto error;
/* /*
......
...@@ -429,10 +429,6 @@ static int ah6_init_state(struct xfrm_state *x) ...@@ -429,10 +429,6 @@ static int ah6_init_state(struct xfrm_state *x)
if (!x->aalg) if (!x->aalg)
goto error; goto error;
/* null auth can use a zero length key */
if (x->aalg->alg_key_len > 512)
goto error;
if (x->encap) if (x->encap)
goto error; goto error;
...@@ -440,14 +436,13 @@ static int ah6_init_state(struct xfrm_state *x) ...@@ -440,14 +436,13 @@ static int ah6_init_state(struct xfrm_state *x)
if (ahp == NULL) if (ahp == NULL)
return -ENOMEM; return -ENOMEM;
ahp->key = x->aalg->alg_key;
ahp->key_len = (x->aalg->alg_key_len+7)/8;
tfm = crypto_alloc_hash(x->aalg->alg_name, 0, CRYPTO_ALG_ASYNC); tfm = crypto_alloc_hash(x->aalg->alg_name, 0, CRYPTO_ALG_ASYNC);
if (IS_ERR(tfm)) if (IS_ERR(tfm))
goto error; goto error;
ahp->tfm = tfm; ahp->tfm = tfm;
if (crypto_hash_setkey(tfm, ahp->key, ahp->key_len)) if (crypto_hash_setkey(tfm, x->aalg->alg_key,
(x->aalg->alg_key_len + 7) / 8))
goto error; goto error;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment