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>
Fri, 27 Sep 2013 00:18:01 +0000 (17:18 -0700)
commit139653e11c9eec4d5eff614e688d6bec99b78d7f
tree88d044524db6462cdc564fcae32fdd1051e6753f
parent13915e203f991e77eb5a52bcd4c61e5f155e3bbc
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