mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
crypto: api - Fix boot-up self-test race
[ Upstream commit8dd458cbc5
] During the boot process self-tests are postponed so that all algorithms are registered when the test starts. In the event that algorithms are still being registered during these tests, which can occur either because the algorithm is registered at late_initcall, or because a self-test itself triggers the creation of an instance, some self-tests may never start at all. Fix this by setting the flag at the start of crypto_start_tests. Note that this race is theoretical and has never been observed in practice. Fixes:adad556efc
("crypto: api - Fix built-in testing dependency failures") Signed-off-by: Herbert Xu <herbert.xu@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
1dbc270f9d
commit
b7de862bda
|
@ -1022,6 +1022,8 @@ static void __init crypto_start_tests(void)
|
|||
if (IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS))
|
||||
return;
|
||||
|
||||
set_crypto_boot_test_finished();
|
||||
|
||||
for (;;) {
|
||||
struct crypto_larval *larval = NULL;
|
||||
struct crypto_alg *q;
|
||||
|
@ -1053,8 +1055,6 @@ static void __init crypto_start_tests(void)
|
|||
if (!larval)
|
||||
break;
|
||||
}
|
||||
|
||||
set_crypto_boot_test_finished();
|
||||
}
|
||||
|
||||
static int __init crypto_algapi_init(void)
|
||||
|
|
Loading…
Reference in New Issue
Block a user