From e114850ddaa8623b219e8abdc134d6ce3dfd205c Mon Sep 17 00:00:00 2001 From: Laukik Hase Date: Mon, 20 Jun 2022 10:38:36 +0530 Subject: [PATCH] mbedtls: Acquire lock before enabling MPI (RSA) hardware - For ESP32-S3 --- components/mbedtls/port/esp32s3/bignum.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/components/mbedtls/port/esp32s3/bignum.c b/components/mbedtls/port/esp32s3/bignum.c index b4bbd60726..a803a1e87d 100644 --- a/components/mbedtls/port/esp32s3/bignum.c +++ b/components/mbedtls/port/esp32s3/bignum.c @@ -28,6 +28,7 @@ #include "soc/system_reg.h" #include "soc/periph_defs.h" #include +#include "esp_crypto_lock.h" size_t esp_mpi_hardware_words(size_t words) { @@ -36,6 +37,8 @@ size_t esp_mpi_hardware_words(size_t words) void esp_mpi_enable_hardware_hw_op( void ) { + esp_crypto_mpi_lock_acquire(); + /* Enable RSA hardware */ periph_module_enable(PERIPH_RSA_MODULE); @@ -54,6 +57,8 @@ void esp_mpi_disable_hardware_hw_op( void ) /* Disable RSA hardware */ periph_module_disable(PERIPH_RSA_MODULE); + + esp_crypto_mpi_lock_release(); }