diff options
author | Juergen Christ <jchrist@linux.ibm.com> | 2022-07-25 10:34:26 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2022-11-23 18:21:42 +0100 |
commit | 61763c03235bcee37995e7eb68bfc56eeb1cc493 (patch) | |
tree | 0ed413b1743643c9ce2747a26448c9388b1fa926 /crypto/modes/gcm128.c | |
parent | 5c7a383d5e3efe7057a11cda4d7413bcdc23ef31 (diff) | |
download | openssl-61763c03235bcee37995e7eb68bfc56eeb1cc493.zip openssl-61763c03235bcee37995e7eb68bfc56eeb1cc493.tar.gz openssl-61763c03235bcee37995e7eb68bfc56eeb1cc493.tar.bz2 |
s390x: Fix GCM setup
Rework of GCM code did not include s390x causing NULL pointer dereferences on
GCM operations other than AES-GCM on platforms that support kma. Fix this by
a proper setup of the function pointers.
Fixes: 92c9086e5c2b ("Use separate function to get GCM functions")
Signed-off-by: Juergen Christ <jchrist@linux.ibm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18862)
(cherry picked from commit 48e35b99bd0071207cfe39da22eb2502db5c09dc)
Diffstat (limited to 'crypto/modes/gcm128.c')
-rw-r--r-- | crypto/modes/gcm128.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/modes/gcm128.c b/crypto/modes/gcm128.c index 6b80867..bacaffd 100644 --- a/crypto/modes/gcm128.c +++ b/crypto/modes/gcm128.c @@ -495,6 +495,11 @@ static void gcm_get_funcs(struct gcm_funcs_st *ctx) } return; #endif +#if defined(__s390__) || defined(__s390x__) + ctx->gmult = gcm_gmult_4bit; + ctx->ghash = gcm_ghash_4bit; + return; +#endif } void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f block) |