summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2022-11-22 18:09:16 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2022-12-02 18:12:40 +0800
commit4d2b225a67e6df962bbeaad473bfd8f97cfbf478 (patch)
treeaaef2295223ccfb6b261eb49b3e37429187fa943
parentcb99fc0dd1f6985e8b6ade93e3d69f5e33930539 (diff)
downloadlinux-stable-4d2b225a67e6df962bbeaad473bfd8f97cfbf478.tar.gz
linux-stable-4d2b225a67e6df962bbeaad473bfd8f97cfbf478.tar.bz2
linux-stable-4d2b225a67e6df962bbeaad473bfd8f97cfbf478.zip
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>
-rw-r--r--include/crypto/internal/kpp.h2
-rw-r--r--include/crypto/kpp.h9
2 files changed, 6 insertions, 5 deletions
diff --git a/include/crypto/internal/kpp.h b/include/crypto/internal/kpp.h
index 31ff3c1986ef..167662407e36 100644
--- a/include/crypto/internal/kpp.h
+++ b/include/crypto/internal/kpp.h
@@ -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)
diff --git a/include/crypto/kpp.h b/include/crypto/kpp.h
index 24d01e9877c1..33ff32878802 100644
--- a/include/crypto/kpp.h
+++ b/include/crypto/kpp.h
@@ -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,