summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2023-06-28 16:55:57 +0200
committerPauli <pauli@openssl.org>2023-06-30 08:31:49 +1000
commit44957a49329135163a4138b1877ccf7f899d19b9 (patch)
tree47db818def69868b465bb9dd20b1fb91441353b0
parent58cd83f83cb0fb4c0eaf97aef1c65996c0936a7d (diff)
Do not use stitched AES-GCM implementation on PPC32
The implementation is not usable there at all. Fixes #21301 Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21312) (cherry picked from commit b256d32915d29bdcbc109363d3b05fce6dac30b7)
-rw-r--r--crypto/modes/build.info6
-rw-r--r--providers/implementations/ciphers/cipher_aes_gcm_hw.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/crypto/modes/build.info b/crypto/modes/build.info
index 4ba7c24f3e..c79f75c5c4 100644
--- a/crypto/modes/build.info
+++ b/crypto/modes/build.info
@@ -33,11 +33,11 @@ IF[{- !$disabled{asm} -}]
$MODESDEF_parisc20_64=$MODESDEF_parisc11
$MODESASM_ppc32=ghashp8-ppc.s
- IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
- $MODESASM_ppc32=ghashp8-ppc.s aes-gcm-ppc.s
- ENDIF
$MODESDEF_ppc32=
$MODESASM_ppc64=$MODESASM_ppc32
+ IF[{- $target{sys_id} ne "AIX" && $target{sys_id} ne "MACOSX" -}]
+ $MODESASM_ppc64=$MODESASM_ppc32 aes-gcm-ppc.s
+ ENDIF
$MODESDEF_ppc64=$MODESDEF_ppc32
$MODESASM_c64xplus=ghash-c64xplus.s
diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw.c b/providers/implementations/ciphers/cipher_aes_gcm_hw.c
index 3887b4916e..38d8115f24 100644
--- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c
+++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c
@@ -140,7 +140,7 @@ static const PROV_GCM_HW aes_gcm = {
# include "cipher_aes_gcm_hw_t4.inc"
#elif defined(AES_PMULL_CAPABLE) && defined(AES_GCM_ASM)
# include "cipher_aes_gcm_hw_armv8.inc"
-#elif defined(PPC_AES_GCM_CAPABLE)
+#elif defined(PPC_AES_GCM_CAPABLE) && defined(_ARCH_PPC64)
# include "cipher_aes_gcm_hw_ppc.inc"
#elif defined(__riscv) && __riscv_xlen == 64
# include "cipher_aes_gcm_hw_rv64i.inc"