From d40dbdf96f7f6cbc96d4f879080bbc06285e2969 Mon Sep 17 00:00:00 2001 From: Vladimir Graudt Date: Tue, 11 Apr 2023 19:05:34 +0300 Subject: [PATCH] modules: mbedtls: use proper memory alignment on 64-bit platforms This commit instructs mbedtls to use 64-bit alignment in its internal memory allocation routines when targeting 64-bit platforms. By default mbedtls uses 32-bit alignment regardless the platform, what may result in misaligned memory accesses, possibly inducing access time overhead or exceptions Signed-off-by: Vladimir Graudt --- modules/mbedtls/configs/config-coap.h | 1 + modules/mbedtls/configs/config-mini-dtls1_2.h | 1 + modules/mbedtls/configs/config-mini-tls1_2.h | 1 + modules/mbedtls/configs/config-threadnet.h | 1 + modules/mbedtls/configs/config-tls-generic.h | 1 + 5 files changed, 5 insertions(+) diff --git a/modules/mbedtls/configs/config-coap.h b/modules/mbedtls/configs/config-coap.h index 18ed60ef7c7..f610eb20bc6 100644 --- a/modules/mbedtls/configs/config-coap.h +++ b/modules/mbedtls/configs/config-coap.h @@ -35,6 +35,7 @@ #define MBEDTLS_PLATFORM_C #define MBEDTLS_PLATFORM_MEMORY #define MBEDTLS_MEMORY_BUFFER_ALLOC_C +#define MBEDTLS_MEMORY_ALIGN_MULTIPLE (sizeof(void *)) #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS #define MBEDTLS_PLATFORM_EXIT_ALT #define MBEDTLS_NO_PLATFORM_ENTROPY diff --git a/modules/mbedtls/configs/config-mini-dtls1_2.h b/modules/mbedtls/configs/config-mini-dtls1_2.h index 3a13e0d7ca7..ee0d70b5915 100644 --- a/modules/mbedtls/configs/config-mini-dtls1_2.h +++ b/modules/mbedtls/configs/config-mini-dtls1_2.h @@ -16,6 +16,7 @@ #define MBEDTLS_PLATFORM_C #define MBEDTLS_PLATFORM_MEMORY #define MBEDTLS_MEMORY_BUFFER_ALLOC_C +#define MBEDTLS_MEMORY_ALIGN_MULTIPLE (sizeof(void *)) #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS #define MBEDTLS_PLATFORM_EXIT_ALT #define MBEDTLS_NO_PLATFORM_ENTROPY diff --git a/modules/mbedtls/configs/config-mini-tls1_2.h b/modules/mbedtls/configs/config-mini-tls1_2.h index f725801a62e..4045fe70478 100644 --- a/modules/mbedtls/configs/config-mini-tls1_2.h +++ b/modules/mbedtls/configs/config-mini-tls1_2.h @@ -15,6 +15,7 @@ #define MBEDTLS_PLATFORM_C #define MBEDTLS_PLATFORM_MEMORY #define MBEDTLS_MEMORY_BUFFER_ALLOC_C +#define MBEDTLS_MEMORY_ALIGN_MULTIPLE (sizeof(void *)) #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS #define MBEDTLS_PLATFORM_EXIT_ALT #define MBEDTLS_NO_PLATFORM_ENTROPY diff --git a/modules/mbedtls/configs/config-threadnet.h b/modules/mbedtls/configs/config-threadnet.h index 6804c790fbf..c6676f03433 100644 --- a/modules/mbedtls/configs/config-threadnet.h +++ b/modules/mbedtls/configs/config-threadnet.h @@ -38,6 +38,7 @@ #define MBEDTLS_PLATFORM_C #define MBEDTLS_PLATFORM_MEMORY #define MBEDTLS_MEMORY_BUFFER_ALLOC_C +#define MBEDTLS_MEMORY_ALIGN_MULTIPLE (sizeof(void *)) #define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS #define MBEDTLS_PLATFORM_EXIT_ALT #define MBEDTLS_NO_PLATFORM_ENTROPY diff --git a/modules/mbedtls/configs/config-tls-generic.h b/modules/mbedtls/configs/config-tls-generic.h index 2268571abe0..9d5dcfdaa47 100644 --- a/modules/mbedtls/configs/config-tls-generic.h +++ b/modules/mbedtls/configs/config-tls-generic.h @@ -15,6 +15,7 @@ #define MBEDTLS_PLATFORM_C #define MBEDTLS_PLATFORM_MEMORY #define MBEDTLS_MEMORY_BUFFER_ALLOC_C +#define MBEDTLS_MEMORY_ALIGN_MULTIPLE (sizeof(void *)) #define MBEDTLS_PLATFORM_EXIT_ALT #define MBEDTLS_NO_PLATFORM_ENTROPY