Skip to content

Commit c3fc7cf

Browse files
committed
fix(aes): fixed aes wrong dma desc alignment
1 parent e0991fa commit c3fc7cf

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

components/mbedtls/port/aes/dma/esp_aes_dma_core.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,8 @@ int esp_aes_process_dma(esp_aes_context *ctx, const unsigned char *input, unsign
622622
}
623623

624624
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
625-
if (esp_cache_msync(output_desc, ALIGN_UP(output_dma_desc_num * sizeof(crypto_dma_desc_t), output_cache_line_size), ESP_CACHE_MSYNC_FLAG_DIR_M2C) != ESP_OK) {
625+
size_t output_desc_cache_line_size = get_cache_line_size(output_desc);
626+
if (esp_cache_msync(output_desc, ALIGN_UP(output_dma_desc_num * sizeof(crypto_dma_desc_t), output_desc_cache_line_size), ESP_CACHE_MSYNC_FLAG_DIR_M2C) != ESP_OK) {
626627
ESP_LOGE(TAG, "Output DMA descriptor cache sync M2C failed");
627628
ret = -1;
628629
goto cleanup;
@@ -841,7 +842,8 @@ int esp_aes_process_dma_gcm(esp_aes_context *ctx, const unsigned char *input, un
841842
}
842843

843844
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
844-
if (esp_cache_msync(output_desc, ALIGN_UP(output_dma_desc_num * sizeof(crypto_dma_desc_t), output_cache_line_size), ESP_CACHE_MSYNC_FLAG_DIR_M2C) != ESP_OK) {
845+
size_t output_desc_cache_line_size = get_cache_line_size(output_desc);
846+
if (esp_cache_msync(output_desc, ALIGN_UP(output_dma_desc_num * sizeof(crypto_dma_desc_t), output_desc_cache_line_size), ESP_CACHE_MSYNC_FLAG_DIR_M2C) != ESP_OK) {
845847
ESP_LOGE(TAG, "Output DMA descriptor cache sync M2C failed");
846848
ret = -1;
847849
goto cleanup;

0 commit comments

Comments
 (0)