From 61763c03235bcee37995e7eb68bfc56eeb1cc493 Mon Sep 17 00:00:00 2001 From: Juergen Christ Date: Mon, 25 Jul 2022 10:34:26 +0200 Subject: 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 Reviewed-by: Paul Dale Reviewed-by: Hugo Landau (Merged from https://github.com/openssl/openssl/pull/18862) (cherry picked from commit 48e35b99bd0071207cfe39da22eb2502db5c09dc) --- crypto/modes/gcm128.c | 5 +++++ 1 file changed, 5 insertions(+) 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) -- cgit v1.1