crypto: skcipher - Add crypto_skcipher_has_setkey
This patch adds a way for skcipher users to determine whether a key is required by a transform. Cc: stable@vger.kernel.org Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Родитель
6de62f15b5
Коммит
a1383cd86a
|
@ -118,6 +118,7 @@ static int crypto_init_skcipher_ops_blkcipher(struct crypto_tfm *tfm)
|
||||||
skcipher->decrypt = skcipher_decrypt_blkcipher;
|
skcipher->decrypt = skcipher_decrypt_blkcipher;
|
||||||
|
|
||||||
skcipher->ivsize = crypto_blkcipher_ivsize(blkcipher);
|
skcipher->ivsize = crypto_blkcipher_ivsize(blkcipher);
|
||||||
|
skcipher->has_setkey = calg->cra_blkcipher.max_keysize;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -210,6 +211,7 @@ static int crypto_init_skcipher_ops_ablkcipher(struct crypto_tfm *tfm)
|
||||||
skcipher->ivsize = crypto_ablkcipher_ivsize(ablkcipher);
|
skcipher->ivsize = crypto_ablkcipher_ivsize(ablkcipher);
|
||||||
skcipher->reqsize = crypto_ablkcipher_reqsize(ablkcipher) +
|
skcipher->reqsize = crypto_ablkcipher_reqsize(ablkcipher) +
|
||||||
sizeof(struct ablkcipher_request);
|
sizeof(struct ablkcipher_request);
|
||||||
|
skcipher->has_setkey = calg->cra_ablkcipher.max_keysize;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,8 @@ struct crypto_skcipher {
|
||||||
unsigned int ivsize;
|
unsigned int ivsize;
|
||||||
unsigned int reqsize;
|
unsigned int reqsize;
|
||||||
|
|
||||||
|
bool has_setkey;
|
||||||
|
|
||||||
struct crypto_tfm base;
|
struct crypto_tfm base;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -305,6 +307,11 @@ static inline int crypto_skcipher_setkey(struct crypto_skcipher *tfm,
|
||||||
return tfm->setkey(tfm, key, keylen);
|
return tfm->setkey(tfm, key, keylen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool crypto_skcipher_has_setkey(struct crypto_skcipher *tfm)
|
||||||
|
{
|
||||||
|
return tfm->has_setkey;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* crypto_skcipher_reqtfm() - obtain cipher handle from request
|
* crypto_skcipher_reqtfm() - obtain cipher handle from request
|
||||||
* @req: skcipher_request out of which the cipher handle is to be obtained
|
* @req: skcipher_request out of which the cipher handle is to be obtained
|
||||||
|
|
Загрузка…
Ссылка в новой задаче