From ff44ff8050e53ecc1aa78be492afb25338396b79 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 768646d331..fe33dea2f0 100644 --- a/components/mbedtls/port/esp32s3/bignum.c +++ b/components/mbedtls/port/esp32s3/bignum.c @@ -16,6 +16,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) { @@ -24,6 +25,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); @@ -43,6 +46,8 @@ void esp_mpi_disable_hardware_hw_op( void ) /* Disable RSA hardware */ periph_module_disable(PERIPH_RSA_MODULE); + + esp_crypto_mpi_lock_release(); } void esp_mpi_interrupt_enable( bool enable )