Thread (39 messages) flat view 39 messages, 10 authors, 2022-03-17

Re: [PATCH] crypto: api - Fix built-in testing dependency failures

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2021-09-14 03:29:02

On Mon, Sep 13, 2021 at 11:16:03AM -0700, Eric Biggers wrote:
Are there any specific examples that you could give?
The one that triggered this was ecdh-nist-p256-generic, which
calls into drbg.  Both ecdh and drbg are at level subsys_initcall
so the order between them is random.

Beyond this, obviously we have already moved many algorithms
ot subsys_initcall precisely for this purpose and with this
patch, they can all be moved back to module_init.
 
'tested' is set before the algorithm has actually been tested, and it sounds
like the same as CRYPTO_ALG_TESTED which already exists.  Maybe it should be
called something else, like 'test_started'?
Sure, I can rename that.
 
Is there a way to continue iterating from the previous algorithm, so that this
doesn't take quadratic time?
It's certainly possible to optimise this, but I'm not inclined
to do it unless someone can show me that it's a real issue :)

The simplest way to optimise this would be to create a separate
list for the test larvae.
A comment explaining why the tests aren't run until late_initcall would be
helpful.  People shouldn't have to dig through commit messages to understand the
code.
Sure.
Also, did you check whether there is anything that relies on the crypto API
being available before or during late_initcall?  That wouldn't work with this
new approach, right?
The patch is supposed to deal with that scenario by starting the
test on-demand should someone request for it before late_initcall.

Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help