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