Skip to content

Commit 2c84e2e

Browse files
committed
Merge branch 'fix/fix_aes_dma_desc_align_v5.3' into 'release/v5.3'
fix(aes): fixed aes wrong dma desc alignment (v5.3) See merge request espressif/esp-idf!32206
2 parents 86bcea6 + c3fc7cf commit 2c84e2e

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
@@ -615,7 +615,8 @@ int esp_aes_process_dma(esp_aes_context *ctx, const unsigned char *input, unsign
615615
}
616616

617617
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
618-
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) {
618+
size_t output_desc_cache_line_size = get_cache_line_size(output_desc);
619+
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) {
619620
ESP_LOGE(TAG, "Output DMA descriptor cache sync M2C failed");
620621
ret = -1;
621622
goto cleanup;
@@ -834,7 +835,8 @@ int esp_aes_process_dma_gcm(esp_aes_context *ctx, const unsigned char *input, un
834835
}
835836

836837
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
837-
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) {
838+
size_t output_desc_cache_line_size = get_cache_line_size(output_desc);
839+
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) {
838840
ESP_LOGE(TAG, "Output DMA descriptor cache sync M2C failed");
839841
ret = -1;
840842
goto cleanup;

0 commit comments

Comments
 (0)