crypto: api - Fix race condition in crypto_spawn_alg
authorHerbert Xu <herbert@gondor.apana.org.au>
Sat, 7 Dec 2019 14:15:15 +0000 (22:15 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 11 Dec 2019 08:48:38 +0000 (16:48 +0800)
commit73669cc556462f4e50376538d77ee312142e8a8a
treedb3ba895698e2e4886e668f4194ec008b2d0fd49
parent4a2abbc6b8683dd8ac399d305b23409a7a7503d3
crypto: api - Fix race condition in crypto_spawn_alg

The function crypto_spawn_alg is racy because it drops the lock
before shooting the dying algorithm.  The algorithm could disappear
altogether before we shoot it.

This patch fixes it by moving the shooting into the locked section.

Fixes: 6bfd48096ff8 ("[CRYPTO] api: Added spawns")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/algapi.c
crypto/api.c
crypto/internal.h