Adds the AEAD_REQUEST_ON_STACK primitive to allow allocating AEAD
requests on the stack, as it can already be done with various other
crypto algorithms within the kernel.

Signed-off-by: Antoine Tenart <antoine.ten...@bootlin.com>
---
 include/crypto/aead.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/crypto/aead.h b/include/crypto/aead.h
index 1e26f790b03f..b67064786546 100644
--- a/include/crypto/aead.h
+++ b/include/crypto/aead.h
@@ -151,6 +151,11 @@ struct aead_alg {
        struct crypto_alg base;
 };
 
+#define AEAD_REQUEST_ON_STACK(name, tfm) \
+       char __##name##_desc[sizeof(struct aead_request) + \
+               crypto_aead_reqsize(tfm)] CRYPTO_MINALIGN_ATTR; \
+       struct aead_request *name = (void *)__##name##_desc
+
 struct crypto_aead {
        unsigned int authsize;
        unsigned int reqsize;
-- 
2.17.0

Reply via email to