crypto: api - Fix race condition in larval lookup
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 8 Sep 2013 04:33:50 +0000 (14:33 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Sep 2013 23:52:45 +0000 (16:52 -0700)
commit162c7c77893520b95698d6a7d146295aab1397c2
treee6b3decf39a4eafc88c5a7c0c4acf2dc2045717d
parent173798ef2abbec8faf2a4397a24bd357fecfe008
crypto: api - Fix race condition in larval lookup

commit 77dbd7a95e4a4f15264c333a9e9ab97ee27dc2aa upstream.

crypto_larval_lookup should only return a larval if it created one.
Any larval created by another entity must be processed through
crypto_larval_wait before being returned.

Otherwise this will lead to a larval being killed twice, which
will most likely lead to a crash.

Reported-by: Kees Cook <keescook@chromium.org>
Tested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
crypto/api.c