[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200226221742.GA135806@gmail.com>
Date: Wed, 26 Feb 2020 14:17:42 -0800
From: Eric Biggers <ebiggers@...nel.org>
To: Gilad Ben-Yossef <gilad@...yossef.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Ofir Drang <ofir.drang@....com>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>,
Linux kernel mailing list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] crypto: testmgr - use generic algs making test vecs
On Wed, Feb 26, 2020 at 04:42:45PM +0200, Gilad Ben-Yossef wrote:
>
> The impetus to write this patch came from my experience debugging a
> test failure with the ccree driver.
> At some point while tweaking around I got into a situation where the
> test was succeeding (that is, declaring the message inauthentic) not
> because the mutation was being detected but because the generation of
> the origin was producing a bogus ICV.
That's being fixed by your patch 2/2 though, right?
> At that point it seemed to me that it would be safer to "isolate" the
> original AEAD messages generation from the code that was being teste.
>
> > We could also just move test_aead_inauthentic_inputs() to below
> > test_aead_vs_generic_impl() so that it runs last.
>
> This would probably be better, although I think that this stage also
> generates inauthentic messages from time to time, no?
That's correct, but in test_aead_vs_generic_impl() the generic implementation is
used to generate the test vectors.
> At any rate, I don't have strong feelings about it either way. I defer
> to your judgment whether it is worth it to add a fallback to use the
> same implementation and fix what needs fixing or drop the patch
> altogether if you think this isn't worth the trouble - just let me
> know.
I just want to avoid adding complexity that isn't worthwhile.
Beyond your patch 2, how about we just do:
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 79b431545249a9..2ab48d4d317250 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -2564,11 +2564,11 @@ static int test_aead_extra(const char *driver,
goto out;
}
- err = test_aead_inauthentic_inputs(ctx);
+ err = test_aead_vs_generic_impl(ctx);
if (err)
goto out;
- err = test_aead_vs_generic_impl(ctx);
+ err = test_aead_inauthentic_inputs(ctx);
out:
kfree(ctx->vec.key);
kfree(ctx->vec.iv);
Then the dedicated tests for inauthentic inputs wouldn't be run until the fuzz
tests vs. generic have already passed.
- Eric
Powered by blists - more mailing lists