Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7b1722c authored by Josh Poimboeuf's avatar Josh Poimboeuf Committed by Herbert Xu
Browse files

crypto: x86/sha1-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.

Use R11 instead of RBP.  Since R11 isn't a callee-saved register, it
doesn't need to be saved and restored on the stack.

Reported-by: default avatarEric Biggers <ebiggers@google.com>
Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
Tested-by: default avatarEric Biggers <ebiggers@google.com>
Acked-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 3ed7b4d6
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@
#define	REG_RE	%rdx
#define	REG_RTA	%r12
#define	REG_RTB	%rbx
#define	REG_T1	%ebp
#define	REG_T1	%r11d
#define	xmm_mov	vmovups
#define	avx2_zeroupper	vzeroupper
#define	RND_F1	1
@@ -637,7 +637,6 @@ _loop3:
	ENTRY(\name)

	push	%rbx
	push	%rbp
	push	%r12
	push	%r13
	push	%r14
@@ -673,7 +672,6 @@ _loop3:
	pop	%r14
	pop	%r13
	pop	%r12
	pop	%rbp
	pop	%rbx

	ret