[PATCH 1/6] crypto: api - laying macros for statically allocated buffers

From: Salvatore Mesoraca
Date: Sat Apr 07 2018 - 14:40:05 EST


Creating 2 new compile-time constants for internal use,
in preparation for the removal of VLAs[1] from crypto code.
All ciphers implemented in Linux have a block size less than or
equal to 16 bytes and the most demanding hw require 16 bytes
alignment for the block buffer.

[1] http://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@xxxxxxxxxxxxxx

Signed-off-by: Salvatore Mesoraca <s.mesoraca16@xxxxxxxxx>
---
crypto/internal.h | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/crypto/internal.h b/crypto/internal.h
index 9a3f399..89ae41e 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -26,6 +26,14 @@
#include <linux/rwsem.h>
#include <linux/slab.h>

+/*
+ * Maximum values for blocksize and alignmask, used to allocate
+ * static buffers that are big enough for any combination of
+ * ciphers and architectures.
+ */
+#define MAX_BLOCKSIZE 16
+#define MAX_ALIGNMASK 15
+
/* Crypto notification events. */
enum {
CRYPTO_MSG_ALG_REQUEST,
--
1.9.1