summaryrefslogtreecommitdiffstats
path: root/crypto/speck.c
diff options
context:
space:
mode:
authorDave Watson <davejwatson@fb.com>2018-02-14 18:40:58 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2018-02-22 15:16:52 +0100
commite845520707f85c539ce04bb73c6070e9441480be (patch)
treed4415b6ffbc10427f0fbfd3a9cf290b251eeea15 /crypto/speck.c
parentcrypto: aesni - Introduce scatter/gather asm function stubs (diff)
downloadlinux-e845520707f85c539ce04bb73c6070e9441480be.tar.xz
linux-e845520707f85c539ce04bb73c6070e9441480be.zip
crypto: aesni - Update aesni-intel_glue to use scatter/gather
Add gcmaes_crypt_by_sg routine, that will do scatter/gather by sg. Either src or dst may contain multiple buffers, so iterate over both at the same time if they are different. If the input is the same as the output, iterate only over one. Currently both the AAD and TAG must be linear, so copy them out with scatterlist_map_and_copy. If first buffer contains the entire AAD, we can optimize and not copy. Since the AAD can be any size, if copied it must be on the heap. TAG can be on the stack since it is always < 16 bytes. Only the SSE routines are updated so far, so leave the previous gcmaes_en/decrypt routines, and branch to the sg ones if the keysize is inappropriate for avx, or we are SSE only. Signed-off-by: Dave Watson <davejwatson@fb.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/speck.c')
0 files changed, 0 insertions, 0 deletions