crypto: kpp - Move reqsize into tfm

The value of reqsize cannot be determined in case of fallbacks.
Therefore it must be stored in the tfm and not the alg object.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Herbert Xu 2022-11-22 18:09:16 +08:00
parent cb99fc0dd1
commit 4d2b225a67
2 changed files with 6 additions and 5 deletions

View file

@ -53,7 +53,7 @@ static inline void *kpp_request_ctx(struct kpp_request *req)
static inline void kpp_set_reqsize(struct crypto_kpp *kpp,
unsigned int reqsize)
{
crypto_kpp_alg(kpp)->reqsize = reqsize;
kpp->reqsize = reqsize;
}
static inline void *kpp_tfm_ctx(struct crypto_kpp *tfm)

View file

@ -37,9 +37,13 @@ struct kpp_request {
* struct crypto_kpp - user-instantiated object which encapsulate
* algorithms and core processing logic
*
* @reqsize: Request context size required by algorithm
* implementation
* @base: Common crypto API algorithm data structure
*/
struct crypto_kpp {
unsigned int reqsize;
struct crypto_tfm base;
};
@ -64,8 +68,6 @@ struct crypto_kpp {
* put in place here.
* @exit: Undo everything @init did.
*
* @reqsize: Request context size required by algorithm
* implementation
* @base: Common crypto API algorithm data structure
*/
struct kpp_alg {
@ -79,7 +81,6 @@ struct kpp_alg {
int (*init)(struct crypto_kpp *tfm);
void (*exit)(struct crypto_kpp *tfm);
unsigned int reqsize;
struct crypto_alg base;
};
@ -128,7 +129,7 @@ static inline struct kpp_alg *crypto_kpp_alg(struct crypto_kpp *tfm)
static inline unsigned int crypto_kpp_reqsize(struct crypto_kpp *tfm)
{
return crypto_kpp_alg(tfm)->reqsize;
return tfm->reqsize;
}
static inline void kpp_request_set_tfm(struct kpp_request *req,