aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/talitos.c
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@redhat.com>2017-09-18 14:42:10 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2017-09-20 17:42:37 +0800
commitca04c823763e5b82c237cabe0c17f547ecdc6271 (patch)
treeb596d540debff4ae2545e4f198568a6c563756f2 /drivers/crypto/talitos.c
parentcrypto: x86/sha256-ssse3 - Fix RBP usage (diff)
downloadlinux-dev-ca04c823763e5b82c237cabe0c17f547ecdc6271.tar.xz
linux-dev-ca04c823763e5b82c237cabe0c17f547ecdc6271.zip
crypto: sha512-avx2 - Fix RBP usage
Using RBP as a temporary register breaks frame pointer convention and breaks stack traces when unwinding from an interrupt in the crypto code. Mix things up a little bit to get rid of the RBP usage, without hurting performance too much. Use RDI instead of RBP for the TBL pointer. That will clobber CTX, so spill CTX onto the stack and use R12 to read it in the outer loop. R12 is used as a non-persistent temporary variable elsewhere, so it's safe to use. Also remove the unused y4 variable. Reported-by: Eric Biggers <ebiggers3@gmail.com> Reported-by: Peter Zijlstra <peterz@infradead.org> Tested-by: Eric Biggers <ebiggers@google.com> Acked-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions