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 44187c5ee59..8802fb6dd5a 100644 --- a/crypto/hmac.c +++ b/crypto/hmac.c @@ -197,13 +197,18 @@ static void hmac_free(struct crypto_instance *inst)  	kfree(inst);  } -static struct crypto_instance *hmac_alloc(void *param, unsigned int len) +static struct crypto_instance *hmac_alloc(struct rtattr **tb)  {  	struct crypto_instance *inst;  	struct crypto_alg *alg; +	int err; + +	err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_HASH); +	if (err) +		return ERR_PTR(err); -	alg = crypto_get_attr_alg(param, len, CRYPTO_ALG_TYPE_HASH, -				  CRYPTO_ALG_TYPE_HASH_MASK | CRYPTO_ALG_ASYNC); +	alg = crypto_get_attr_alg(tb, CRYPTO_ALG_TYPE_HASH, +				  CRYPTO_ALG_TYPE_HASH_MASK);  	if (IS_ERR(alg))  		return ERR_PTR(PTR_ERR(alg));  | 
