diff options
| author | Eric Biggers <ebiggers@kernel.org> | 2026-03-19 09:17:20 +0300 |
|---|---|---|
| committer | Eric Biggers <ebiggers@kernel.org> | 2026-03-24 02:44:30 +0300 |
| commit | ea0c746ffa1e6e701d39a564f6286a3f5740826b (patch) | |
| tree | e607ff3f5984c20de206c8985ecbc27c680f519f /include | |
| parent | a78ae6e364aea8aec3996de274c4f5bc98e1d771 (diff) | |
| download | linux-ea0c746ffa1e6e701d39a564f6286a3f5740826b.tar.xz | |
lib/crypto: aesgcm: Use GHASH library API
Make the AES-GCM library use the GHASH library instead of directly
calling gf128mul_lle(). This allows the architecture-optimized GHASH
implementations to be used, or the improved generic implementation if no
architecture-optimized implementation is usable.
Note: this means that <crypto/gcm.h> no longer needs to include
<crypto/gf128mul.h>. Remove that inclusion, and include
<crypto/gf128mul.h> explicitly from arch/x86/crypto/aesni-intel_glue.c
which previously was relying on the transitive inclusion.
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20260319061723.1140720-20-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/crypto/gcm.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/crypto/gcm.h b/include/crypto/gcm.h index b524e47bd4d0..1d5f39ff1dc4 100644 --- a/include/crypto/gcm.h +++ b/include/crypto/gcm.h @@ -4,7 +4,7 @@ #include <linux/errno.h> #include <crypto/aes.h> -#include <crypto/gf128mul.h> +#include <crypto/gf128hash.h> #define GCM_AES_IV_SIZE 12 #define GCM_RFC4106_IV_SIZE 8 @@ -65,7 +65,7 @@ static inline int crypto_ipsec_check_assoclen(unsigned int assoclen) } struct aesgcm_ctx { - be128 ghash_key; + struct ghash_key ghash_key; struct aes_enckey aes_key; unsigned int authsize; }; |
