[PATCH 4/6] crypto/openssl: fix 3DES-CTR with big endian CPUs
David Marchand
david.marchand at redhat.com
Thu Oct 24 14:05:33 CEST 2024
Caught by code review.
Don't byte swap unconditionally (assuming that CPU is little endian is
wrong). Instead, convert from big endian to cpu and vice versa.
Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library")
Cc: stable at dpdk.org
Signed-off-by: David Marchand <david.marchand at redhat.com>
---
drivers/crypto/openssl/rte_openssl_pmd.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 9657b70c7a..9f5f3cda7d 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -2,6 +2,7 @@
* Copyright(c) 2016-2017 Intel Corporation
*/
+#include <rte_byteorder.h>
#include <rte_common.h>
#include <rte_hexdump.h>
#include <rte_cryptodev.h>
@@ -110,9 +111,9 @@ ctr_inc(uint8_t *ctr)
{
uint64_t *ctr64 = (uint64_t *)ctr;
- *ctr64 = __builtin_bswap64(*ctr64);
+ *ctr64 = rte_be_to_cpu_64(*ctr64);
(*ctr64)++;
- *ctr64 = __builtin_bswap64(*ctr64);
+ *ctr64 = rte_cpu_to_be_64(*ctr64);
}
/*
--
2.46.2
More information about the dev
mailing list