diff options
Diffstat (limited to 'crypto/hmac.c')
-rw-r--r-- | crypto/hmac.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/crypto/hmac.c b/crypto/hmac.c index 44187c5ee593..8802fb6dd5a6 100644 --- a/crypto/hmac.c +++ b/crypto/hmac.c | |||
@@ -197,13 +197,18 @@ static void hmac_free(struct crypto_instance *inst) | |||
197 | kfree(inst); | 197 | kfree(inst); |
198 | } | 198 | } |
199 | 199 | ||
200 | static struct crypto_instance *hmac_alloc(void *param, unsigned int len) | 200 | static struct crypto_instance *hmac_alloc(struct rtattr **tb) |
201 | { | 201 | { |
202 | struct crypto_instance *inst; | 202 | struct crypto_instance *inst; |
203 | struct crypto_alg *alg; | 203 | struct crypto_alg *alg; |
204 | int err; | ||
205 | |||
206 | err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_HASH); | ||
207 | if (err) | ||
208 | return ERR_PTR(err); | ||
204 | 209 | ||
205 | alg = crypto_get_attr_alg(param, len, CRYPTO_ALG_TYPE_HASH, | 210 | alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_HASH, |
206 | CRYPTO_ALG_TYPE_HASH_MASK | CRYPTO_ALG_ASYNC); | 211 | CRYPTO_ALG_TYPE_HASH_MASK); |
207 | if (IS_ERR(alg)) | 212 | if (IS_ERR(alg)) |
208 | return ERR_PTR(PTR_ERR(alg)); | 213 | return ERR_PTR(PTR_ERR(alg)); |
209 | 214 | ||