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

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
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -43,9 +43,12 @@ struct akcipher_request {
 * struct crypto_akcipher - user-instantiated objects which encapsulate
 * algorithms and core processing logic
 *
 * @reqsize:	Request context size required by algorithm implementation
 * @base:	Common crypto API algorithm data structure
 */
struct crypto_akcipher {
	unsigned int reqsize;

	struct crypto_tfm base;
};

@@ -86,7 +89,6 @@ struct crypto_akcipher {
 *		counterpart to @init, used to remove various changes set in
 *		@init.
 *
 * @reqsize:	Request context size required by algorithm implementation
 * @base:	Common crypto API algorithm data structure
 */
struct akcipher_alg {
@@ -102,7 +104,6 @@ struct akcipher_alg {
	int (*init)(struct crypto_akcipher *tfm);
	void (*exit)(struct crypto_akcipher *tfm);

	unsigned int reqsize;
	struct crypto_alg base;
};

@@ -155,7 +156,7 @@ static inline struct akcipher_alg *crypto_akcipher_alg(

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,
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ static inline void *akcipher_request_ctx(struct akcipher_request *req)
static inline void akcipher_set_reqsize(struct crypto_akcipher *akcipher,
					unsigned int reqsize)
{
	crypto_akcipher_alg(akcipher)->reqsize = reqsize;
	akcipher->reqsize = reqsize;
}

static inline void *akcipher_tfm_ctx(struct crypto_akcipher *tfm)