diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-08-02 06:29:06 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-08-10 07:00:27 -0400 |
commit | b64dc04beba30947dc80745dcb95ae3c04fd18cf (patch) | |
tree | 754ab3746c524f42d045491be7df01cde3c0f1fe /drivers/crypto | |
parent | 30343ef1de348cd21cd7d0cebde3c0175b730e0b (diff) |
crypto: picoxcell - fix possible invalid pointer dereference
The completion callback will free the request so we must remove it from
the completion list before calling the callback.
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/picoxcell_crypto.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/picoxcell_crypto.c b/drivers/crypto/picoxcell_crypto.c index 017340c3b715..a2b553eabbdb 100644 --- a/drivers/crypto/picoxcell_crypto.c +++ b/drivers/crypto/picoxcell_crypto.c | |||
@@ -1242,8 +1242,8 @@ static void spacc_spacc_complete(unsigned long data) | |||
1242 | spin_unlock_irqrestore(&engine->hw_lock, flags); | 1242 | spin_unlock_irqrestore(&engine->hw_lock, flags); |
1243 | 1243 | ||
1244 | list_for_each_entry_safe(req, tmp, &completed, list) { | 1244 | list_for_each_entry_safe(req, tmp, &completed, list) { |
1245 | req->complete(req); | ||
1246 | list_del(&req->list); | 1245 | list_del(&req->list); |
1246 | req->complete(req); | ||
1247 | } | 1247 | } |
1248 | } | 1248 | } |
1249 | 1249 | ||