lkml.org 
[lkml]   [2020]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2020-03-19 04:27    [W:1.144 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site