b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| 2 | From: Eric Biggers <ebiggers@google.com> |
| 3 | Date: Fri, 23 Oct 2020 15:27:48 -0700 |
| 4 | Subject: [PATCH] crypto: x86/poly1305 - add back a needed assignment |
| 5 | |
| 6 | commit c3a98c3ad5c0dc60a1ac66bf91147a3f39cac96b upstream. |
| 7 | |
| 8 | One of the assignments that was removed by commit 4a0c1de64bf9 ("crypto: |
| 9 | x86/poly1305 - Remove assignments with no effect") is actually needed, |
| 10 | since it affects the return value. |
| 11 | |
| 12 | This fixes the following crypto self-test failure: |
| 13 | |
| 14 | alg: shash: poly1305-simd test failed (wrong result) on test vector 2, cfg="init+update+final aligned buffer" |
| 15 | |
| 16 | Fixes: 4a0c1de64bf9 ("crypto: x86/poly1305 - Remove assignments with no effect") |
| 17 | Signed-off-by: Eric Biggers <ebiggers@google.com> |
| 18 | Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| 19 | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| 20 | --- |
| 21 | arch/x86/crypto/poly1305_glue.c | 1 + |
| 22 | 1 file changed, 1 insertion(+) |
| 23 | |
| 24 | --- a/arch/x86/crypto/poly1305_glue.c |
| 25 | +++ b/arch/x86/crypto/poly1305_glue.c |
| 26 | @@ -157,6 +157,7 @@ static unsigned int crypto_poly1305_setd |
| 27 | dctx->s[1] = get_unaligned_le32(&inp[4]); |
| 28 | dctx->s[2] = get_unaligned_le32(&inp[8]); |
| 29 | dctx->s[3] = get_unaligned_le32(&inp[12]); |
| 30 | + acc += POLY1305_BLOCK_SIZE; |
| 31 | dctx->sset = true; |
| 32 | } |
| 33 | } |