From: Harsh Jain Date: Wed, 1 Feb 2017 15:40:28 +0000 (+0530) Subject: crypto: algif_aead - Fix kernel panic on list_del X-Git-Tag: v5.15~11967^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0b529f143e8baad441a5aac9ad55ec2434d8fb46;p=platform%2Fkernel%2Flinux-starfive.git crypto: algif_aead - Fix kernel panic on list_del Kernel panics when userspace program try to access AEAD interface. Remove node from Linked List before freeing its memory. Cc: Signed-off-by: Harsh Jain Reviewed-by: Stephan Müller Signed-off-by: Herbert Xu --- diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c index f849311..533265f 100644 --- a/crypto/algif_aead.c +++ b/crypto/algif_aead.c @@ -661,9 +661,9 @@ static int aead_recvmsg_sync(struct socket *sock, struct msghdr *msg, int flags) 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);