From c3ebfd133b92144afec3703a90ed111bc2f0968d Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Tue, 15 Aug 2023 15:05:47 -0700 Subject: [PATCH] use flush instead of invalidate --- wolfcrypt/src/ecc.c | 8 ++++---- wolfcrypt/src/port/xilinx/xil-aesgcm.c | 26 +++++++++++++------------- wolfcrypt/src/port/xilinx/xil-sha3.c | 4 ++-- wolfcrypt/src/rsa.c | 4 ++-- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index 8b8488add..539a2de04 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -5593,7 +5593,7 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->privKey), key->dp->size); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(key->keyRaw), + WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->keyRaw), 2 * key->dp->size); err = XSecure_EllipticGenerateKey(&(key->xSec.cinst), @@ -5605,7 +5605,7 @@ static int _ecc_make_key_ex(WC_RNG* rng, int keysize, ecc_key* key, err = WC_HW_E; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(key->keyRaw), + WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->keyRaw), 2 * key->dp->size); #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN @@ -6316,7 +6316,7 @@ static int wc_ecc_sign_hash_hw(const byte* in, word32 inlen, WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(key->privKey), keysize); WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(K), keysize); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(out), keysize * 2); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(out), keysize * 2); err = XSecure_EllipticGenerateSign(&(key->xSec.cinst), xil_curve_type[key->dp->id], @@ -6329,7 +6329,7 @@ static int wc_ecc_sign_hash_hw(const byte* in, word32 inlen, err = WC_HW_E; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE(XIL_CAST_U64(out), keysize * 2); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE(XIL_CAST_U64(out), keysize * 2); mp_reverse(&out[0], keysize); mp_reverse(&out[keysize], keysize); diff --git a/wolfcrypt/src/port/xilinx/xil-aesgcm.c b/wolfcrypt/src/port/xilinx/xil-aesgcm.c index 914a3d65e..aabcbd379 100644 --- a/wolfcrypt/src/port/xilinx/xil-aesgcm.c +++ b/wolfcrypt/src/port/xilinx/xil-aesgcm.c @@ -151,7 +151,7 @@ static WC_INLINE int setup(Aes* aes, byte *aad_buf = NULL; int err; - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)aes->keyInit, + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)aes->keyInit, sizeof(aes->keyInit)); if (XSecure_AesWriteKey(&(aes->xSec.cinst), aes->kup, aes->xKeySize, @@ -164,7 +164,7 @@ static WC_INLINE int setup(Aes* aes, XMEMCPY(iv_, iv, AEAD_NONCE_SZ); piv = iv_; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)piv, AEAD_NONCE_SZ); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)piv, AEAD_NONCE_SZ); if (init(&(aes->xSec.cinst), aes->kup, aes->xKeySize, XIL_CAST_U64(piv))) { WOLFSSL_XIL_MSG("Failed to init"); @@ -195,7 +195,7 @@ static WC_INLINE int setup(Aes* aes, XMEMCPY((void* )aad, authIn, authInSz); } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)aad, authInSz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)aad, authInSz); if (XSecure_AesUpdateAad(&(aes->xSec.cinst), XIL_CAST_U64(authIn), authInSz)) { @@ -296,9 +296,9 @@ int wc_AesGcmEncrypt( Aes* aes, byte* out, out_aligned = out; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)in_aligned, sz); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, sizeof(tag)); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)in_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, sizeof(tag)); if (XSecure_AesEncryptUpdate(&(aes->xSec.cinst), XIL_CAST_U64(in_aligned), XIL_CAST_U64(out_aligned), sz, TRUE)) { @@ -313,8 +313,8 @@ int wc_AesGcmEncrypt( Aes* aes, byte* out, ret = WC_HW_E; ForceZero(authTag, authTagSz); } else { - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, sizeof(tag)); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, sizeof(tag)); if (aes->aadStyle == SW_AAD) { ret = handle_aad(aes, out_aligned, sz, iv, authTag, authIn, @@ -411,8 +411,8 @@ int wc_AesGcmDecrypt( Aes* aes, byte* out, out_aligned = out; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)in_aligned, sz); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)in_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz); if (aes->aadStyle == HW_ENGINE_AAD) { /* Use the originally provided tag */ @@ -441,14 +441,14 @@ int wc_AesGcmDecrypt( Aes* aes, byte* out, goto error_out; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)tag, AES_GCM_AUTH_SZ); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)tag, AES_GCM_AUTH_SZ); if (XSecure_AesDecryptFinal(&(aes->xSec.cinst), XIL_CAST_U64(tag))) { WOLFSSL_XIL_MSG("DecryptFinal failed"); ret = WC_HW_E; } else { - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out_aligned, sz); - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)buf, sizeof(buf)); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out_aligned, sz); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)buf, sizeof(buf)); if (aes->aadStyle == SW_AAD) { if (ConstantCompare(authTag, real_tag, authTagSz) != 0) { diff --git a/wolfcrypt/src/port/xilinx/xil-sha3.c b/wolfcrypt/src/port/xilinx/xil-sha3.c index 459e8d6d7..0d440916b 100644 --- a/wolfcrypt/src/port/xilinx/xil-sha3.c +++ b/wolfcrypt/src/port/xilinx/xil-sha3.c @@ -74,7 +74,7 @@ int wc_Sha3_384_Update(wc_Sha3* sha, const byte* data, word32 len) if (sha == NULL || (data == NULL && len > 0)) { return BAD_FUNC_ARG; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)data, len); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)data, len); XSecure_Sha3Update(&(sha->xSec.cinst), XIL_CAST_U64(data), len); return 0; @@ -91,7 +91,7 @@ int wc_Sha3_384_Final(wc_Sha3* sha, byte* out) if (sha == NULL || out == NULL) { return BAD_FUNC_ARG; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, WC_SHA3_384_DIGEST_SIZE); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, WC_SHA3_384_DIGEST_SIZE); XSecure_Sha3Finish(&(sha->xSec.cinst), XIL_CAST_U64(out)); return wc_InitSha3_384(sha, NULL, INVALID_DEVID); diff --git a/wolfcrypt/src/rsa.c b/wolfcrypt/src/rsa.c index 58eda07cb..7e340acb3 100644 --- a/wolfcrypt/src/rsa.c +++ b/wolfcrypt/src/rsa.c @@ -2121,7 +2121,7 @@ static int wc_RsaFunctionSync(const byte* in, word32 inLen, byte* out, XIL_CAST_U64(out)) != XST_SUCCESS) { ret = BAD_STATE_E; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, inLen); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, inLen); #else if (XSecure_RsaPrivateDecrypt(&rsa, (u8*)in, inLen, out) != XST_SUCCESS) { @@ -2149,7 +2149,7 @@ static int wc_RsaFunctionSync(const byte* in, word32 inLen, byte* out, WOLFSSL_MSG("RSA public operation failed"); ret = BAD_STATE_E; } - WOLFSSL_XIL_DCACHE_INVALIDATE_RANGE((UINTPTR)out, inLen); + WOLFSSL_XIL_DCACHE_FLUSH_RANGE((UINTPTR)out, inLen); #elif defined(WOLFSSL_XILINX_CRYPTO_OLD) if (XSecure_RsaDecrypt(&(key->xRsa), in, out) != XST_SUCCESS) { ret = BAD_STATE_E;