diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-20 20:25:16 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-20 20:25:16 +0300 |
commit | e4fba88d00d21f50239eac7d653027bfaf844296 (patch) | |
tree | c1d655d94fa646170f39d3bcd3d03883d6b56ebd /arch | |
parent | ffd565e315aa8211365bb6864000f04e7b277f59 (diff) | |
parent | 4a6b27b79da5ccc6b85dc05bbe6a091e58be896a (diff) | |
download | linux-e4fba88d00d21f50239eac7d653027bfaf844296.tar.xz |
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fix from Herbert Xu:
"Fix a regression that causes sha-mb to crash"
* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: sha1-mb - make sha1_x8_avx2() conform to C function ABI
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/crypto/sha-mb/sha1_x8_avx2.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/x86/crypto/sha-mb/sha1_x8_avx2.S b/arch/x86/crypto/sha-mb/sha1_x8_avx2.S index 8e1b47792b31..c9dae1cd2919 100644 --- a/arch/x86/crypto/sha-mb/sha1_x8_avx2.S +++ b/arch/x86/crypto/sha-mb/sha1_x8_avx2.S @@ -296,7 +296,11 @@ W14 = TMP_ # ENTRY(sha1_x8_avx2) - push RSP_SAVE + # save callee-saved clobbered registers to comply with C function ABI + push %r12 + push %r13 + push %r14 + push %r15 #save rsp mov %rsp, RSP_SAVE @@ -446,7 +450,12 @@ lloop: ## Postamble mov RSP_SAVE, %rsp - pop RSP_SAVE + + # restore callee-saved clobbered registers + pop %r15 + pop %r14 + pop %r13 + pop %r12 ret ENDPROC(sha1_x8_avx2) |