| From 0b529f143e8baad441a5aac9ad55ec2434d8fb46 Mon Sep 17 00:00:00 2001 |
| From: Harsh Jain <harsh@chelsio.com> |
| Date: Wed, 1 Feb 2017 21:10:28 +0530 |
| Subject: crypto: algif_aead - Fix kernel panic on list_del |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Harsh Jain <harsh@chelsio.com> |
| |
| commit 0b529f143e8baad441a5aac9ad55ec2434d8fb46 upstream. |
| |
| Kernel panics when userspace program try to access AEAD interface. |
| Remove node from Linked List before freeing its memory. |
| |
| Signed-off-by: Harsh Jain <harsh@chelsio.com> |
| Reviewed-by: Stephan MΓΌller <smueller@chronox.de> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| crypto/algif_aead.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/crypto/algif_aead.c |
| +++ b/crypto/algif_aead.c |
| @@ -671,9 +671,9 @@ static int aead_recvmsg_sync(struct sock |
| unlock: |
| list_for_each_entry_safe(rsgl, tmp, &ctx->list, list) { |
| af_alg_free_sg(&rsgl->sgl); |
| + list_del(&rsgl->list); |
| if (rsgl != &ctx->first_rsgl) |
| sock_kfree_s(sk, rsgl, sizeof(*rsgl)); |
| - list_del(&rsgl->list); |
| } |
| INIT_LIST_HEAD(&ctx->list); |
| aead_wmem_wakeup(sk); |