Commit 3e71e5b0 authored by Herbert Xu's avatar Herbert Xu

crypto: akcipher - 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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 93c446cd
...@@ -43,9 +43,12 @@ struct akcipher_request { ...@@ -43,9 +43,12 @@ struct akcipher_request {
* struct crypto_akcipher - user-instantiated objects which encapsulate * struct crypto_akcipher - user-instantiated objects which encapsulate
* algorithms and core processing logic * algorithms and core processing logic
* *
* @reqsize: Request context size required by algorithm implementation
* @base: Common crypto API algorithm data structure * @base: Common crypto API algorithm data structure
*/ */
struct crypto_akcipher { struct crypto_akcipher {
unsigned int reqsize;
struct crypto_tfm base; struct crypto_tfm base;
}; };
...@@ -86,7 +89,6 @@ struct crypto_akcipher { ...@@ -86,7 +89,6 @@ struct crypto_akcipher {
* counterpart to @init, used to remove various changes set in * counterpart to @init, used to remove various changes set in
* @init. * @init.
* *
* @reqsize: Request context size required by algorithm implementation
* @base: Common crypto API algorithm data structure * @base: Common crypto API algorithm data structure
*/ */
struct akcipher_alg { struct akcipher_alg {
...@@ -102,7 +104,6 @@ struct akcipher_alg { ...@@ -102,7 +104,6 @@ struct akcipher_alg {
int (*init)(struct crypto_akcipher *tfm); int (*init)(struct crypto_akcipher *tfm);
void (*exit)(struct crypto_akcipher *tfm); void (*exit)(struct crypto_akcipher *tfm);
unsigned int reqsize;
struct crypto_alg base; struct crypto_alg base;
}; };
...@@ -155,7 +156,7 @@ static inline struct akcipher_alg *crypto_akcipher_alg( ...@@ -155,7 +156,7 @@ static inline struct akcipher_alg *crypto_akcipher_alg(
static inline unsigned int crypto_akcipher_reqsize(struct crypto_akcipher *tfm) static inline unsigned int crypto_akcipher_reqsize(struct crypto_akcipher *tfm)
{ {
return crypto_akcipher_alg(tfm)->reqsize; return tfm->reqsize;
} }
static inline void akcipher_request_set_tfm(struct akcipher_request *req, static inline void akcipher_request_set_tfm(struct akcipher_request *req,
......
...@@ -36,7 +36,7 @@ static inline void *akcipher_request_ctx(struct akcipher_request *req) ...@@ -36,7 +36,7 @@ static inline void *akcipher_request_ctx(struct akcipher_request *req)
static inline void akcipher_set_reqsize(struct crypto_akcipher *akcipher, static inline void akcipher_set_reqsize(struct crypto_akcipher *akcipher,
unsigned int reqsize) unsigned int reqsize)
{ {
crypto_akcipher_alg(akcipher)->reqsize = reqsize; akcipher->reqsize = reqsize;
} }
static inline void *akcipher_tfm_ctx(struct crypto_akcipher *tfm) static inline void *akcipher_tfm_ctx(struct crypto_akcipher *tfm)
......
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