[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200319032526.GH2334@sol.localdomain>
Date: Wed, 18 Mar 2020 20:25:26 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: "Jason A. Donenfeld" <Jason@...c4.com>
Cc: linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
gregkh@...uxfoundation.org, herbert@...dor.apana.org.au,
Emil Renner Berthing <kernel@...il.dk>,
Ard Biesheuvel <ardb@...nel.org>, stable@...r.kernel.org
Subject: Re: [PATCH URGENT crypto v2] crypto: arm64/chacha - correctly walk
through blocks
On Wed, Mar 18, 2020 at 08:27:32PM -0600, Jason A. Donenfeld wrote:
> It also fixes up a bug in the (optional, costly) stride test that
> prevented it from running on arm64.
[...]
> diff --git a/lib/crypto/chacha20poly1305-selftest.c b/lib/crypto/chacha20poly1305-selftest.c
> index c391a91364e9..fa43deda2660 100644
> --- a/lib/crypto/chacha20poly1305-selftest.c
> +++ b/lib/crypto/chacha20poly1305-selftest.c
> @@ -9028,10 +9028,15 @@ bool __init chacha20poly1305_selftest(void)
> && total_len <= 1 << 10; ++total_len) {
> for (i = 0; i <= total_len; ++i) {
> for (j = i; j <= total_len; ++j) {
> + k = 0;
> sg_init_table(sg_src, 3);
> - sg_set_buf(&sg_src[0], input, i);
> - sg_set_buf(&sg_src[1], input + i, j - i);
> - sg_set_buf(&sg_src[2], input + j, total_len - j);
> + if (i)
> + sg_set_buf(&sg_src[k++], input, i);
> + if (j - i)
> + sg_set_buf(&sg_src[k++], input + i, j - i);
> + if (total_len - j)
> + sg_set_buf(&sg_src[k++], input + j, total_len - j);
> + sg_init_marker(sg_src, k);
> memset(computed_output, 0, total_len);
> memset(input, 0, total_len);
So with this test fix, does this test find the bug?
Apparently the empty scatterlist elements caused some problem? What was
that problem exactly? And what do you mean by this "prevented the test
from running on arm64"? If there is a problem it seems we should
something else about about it, e.g. debug checks that work in consistent
way on all architectures, documenting what the function expects, or make
it just work properly with empty scatterlist elements.
- Eric
Powered by blists - more mailing lists