diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2020-12-31 17:41:55 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2021-01-08 05:39:47 +0100 |
commit | 2481104fe98d5b016fdd95d649b1235f21e491ba (patch) | |
tree | 80bf424a7f5f59815c5959369f0c6d69a9795fcc /crypto | |
parent | crypto: x86/aes-ni-xts - use direct calls to and 4-way stride (diff) | |
download | linux-2481104fe98d5b016fdd95d649b1235f21e491ba.tar.xz linux-2481104fe98d5b016fdd95d649b1235f21e491ba.zip |
crypto: x86/aes-ni-xts - rewrite and drop indirections via glue helper
The AES-NI driver implements XTS via the glue helper, which consumes
a struct with sets of function pointers which are invoked on chunks
of input data of the appropriate size, as annotated in the struct.
Let's get rid of this indirection, so that we can perform direct calls
to the assembler helpers. Instead, let's adopt the arm64 strategy, i.e.,
provide a helper which can consume inputs of any size, provided that the
penultimate, full block is passed via the last call if ciphertext stealing
needs to be applied.
This also allows us to enable the XTS mode for i386.
Tested-by: Eric Biggers <ebiggers@google.com> # x86_64
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index a367fcfeb5d4..c48ca26e2169 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -1133,7 +1133,6 @@ config CRYPTO_AES_NI_INTEL select CRYPTO_LIB_AES select CRYPTO_ALGAPI select CRYPTO_SKCIPHER - select CRYPTO_GLUE_HELPER_X86 if 64BIT select CRYPTO_SIMD help Use Intel AES-NI instructions for AES algorithm. |