Skip to content

Commit bda2f3f

Browse files
egonelbregopherbot
authored andcommitted
argon2: avoid clobbering BP
go vet was reporting blamka_amd64.s:203:1: [amd64] mixBlocksSSE2: invalid offset a+24(FP); expected a+8(FP) blamka_amd64.s:226:1: [amd64] xorBlocksSSE2: invalid offset a+24(FP); expected a+8(FP) blamka_amd64.s:204:1: frame pointer is clobbered before saving blamka_amd64.s:227:1: frame pointer is clobbered before saving Also fix a similar naming issue in sha3: sha3\keccakf_amd64.s:325:1: [amd64] keccakF1600: unknown variable state; offset 0 is a+0(FP) Updates golang/go#47027 Change-Id: Ia74852cdb0721ae0216787054197b0cac9e1c0f8 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/332289 Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Nicola Murino <nicola.murino@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org>
1 parent 325b735 commit bda2f3f

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

argon2/blamka_amd64.s

+6-6
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,8 @@ TEXT ·mixBlocksSSE2(SB), 4, $0-32
199199
MOVQ out+0(FP), DX
200200
MOVQ a+8(FP), AX
201201
MOVQ b+16(FP), BX
202-
MOVQ a+24(FP), CX
203-
MOVQ $128, BP
202+
MOVQ c+24(FP), CX
203+
MOVQ $128, DI
204204

205205
loop:
206206
MOVOU 0(AX), X0
@@ -213,7 +213,7 @@ loop:
213213
ADDQ $16, BX
214214
ADDQ $16, CX
215215
ADDQ $16, DX
216-
SUBQ $2, BP
216+
SUBQ $2, DI
217217
JA loop
218218
RET
219219

@@ -222,8 +222,8 @@ TEXT ·xorBlocksSSE2(SB), 4, $0-32
222222
MOVQ out+0(FP), DX
223223
MOVQ a+8(FP), AX
224224
MOVQ b+16(FP), BX
225-
MOVQ a+24(FP), CX
226-
MOVQ $128, BP
225+
MOVQ c+24(FP), CX
226+
MOVQ $128, DI
227227

228228
loop:
229229
MOVOU 0(AX), X0
@@ -238,6 +238,6 @@ loop:
238238
ADDQ $16, BX
239239
ADDQ $16, CX
240240
ADDQ $16, DX
241-
SUBQ $2, BP
241+
SUBQ $2, DI
242242
JA loop
243243
RET

sha3/keccakf_amd64.s

+2-2
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@
319319
MOVQ rDi, _si(oState); \
320320
MOVQ rDo, _so(oState) \
321321

322-
// func keccakF1600(state *[25]uint64)
322+
// func keccakF1600(a *[25]uint64)
323323
TEXT ·keccakF1600(SB), 0, $200-8
324-
MOVQ state+0(FP), rpState
324+
MOVQ a+0(FP), rpState
325325

326326
// Convert the user state into an internal state
327327
NOTQ _be(rpState)

0 commit comments

Comments
 (0)