crypto: user - Fix rwsem leak in crypto_user

The list_empty case in crypto_alg_match() will return without calling
up_read() on crypto_alg_sem.  We could do the "goto out" routine, but the
function will clearly do the right thing with that test simply removed.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Jonathan Corbet 2011-11-02 09:15:16 +11:00 committed by Herbert Xu
parent 5db017aa28
commit fb223c32b4

View file

@ -44,9 +44,6 @@ static struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact)
down_read(&crypto_alg_sem); down_read(&crypto_alg_sem);
if (list_empty(&crypto_alg_list))
return NULL;
list_for_each_entry(q, &crypto_alg_list, cra_list) { list_for_each_entry(q, &crypto_alg_list, cra_list) {
int match = 0; int match = 0;