crypto: vmx - ghash: do nosimd fallback manually

VMX ghash was using a fallback that did not support interleaving simd
and nosimd operations, leading to failures in the extended test suite.

If I understood correctly, Eric's suggestion was to use the same
data format that the generic code uses, allowing us to call into it
with the same contexts. I wasn't able to get that to work - I think
there's a very different key structure and data layout being used.

So instead steal the arm64 approach and perform the fallback
operations directly if required.

Fixes: cc333cd68dfa ("crypto: vmx - Adding GHASH routines for VMX module")
Cc: # v4.1+
Reported-by: Eric Biggers <>
Signed-off-by: Daniel Axtens <>
Acked-by: Ard Biesheuvel <>
Tested-by: Michael Ellerman <>
Signed-off-by: Herbert Xu <>
1 file changed