[PATCH 01/10] crypto: aead - allow to allocate AEAD requests on the stack

From: Antoine Tenart
Date: Wed May 02 2018 - 06:00:19 EST


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.tenart@xxxxxxxxxxx>
---
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