diff mbox series

[v2] revert "net: kcm: fix memory leak in kcm_sendmsg"

Message ID 20210607184623.6914-1-paskripkin@gmail.com (mailing list archive)
State Accepted
Commit a47c397bb29fce1751dc755246a2c8deeca5e38f
Delegated to: Netdev Maintainers
Headers show
Series [v2] revert "net: kcm: fix memory leak in kcm_sendmsg" | expand

Checks

Context Check Description
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Pavel Skripkin June 7, 2021, 6:46 p.m. UTC
In commit c47cc304990a ("net: kcm: fix memory leak in kcm_sendmsg")
I misunderstood the root case of the memory leak and came up with
completely broken fix.

So, simply revert this commit to avoid GPF reported by
syzbot.

Im so sorry for this situation.

Fixes: c47cc304990a ("net: kcm: fix memory leak in kcm_sendmsg")
Reported-by: syzbot+65badd5e74ec62cb67dc@syzkaller.appspotmail.com
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
---

Changes in v2:
	Added Fixes tag
	Improved commit message

---
 net/kcm/kcmsock.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org June 7, 2021, 8:40 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Mon,  7 Jun 2021 21:46:23 +0300 you wrote:
> In commit c47cc304990a ("net: kcm: fix memory leak in kcm_sendmsg")
> I misunderstood the root case of the memory leak and came up with
> completely broken fix.
> 
> So, simply revert this commit to avoid GPF reported by
> syzbot.
> 
> [...]

Here is the summary with links:
  - [v2] revert "net: kcm: fix memory leak in kcm_sendmsg"
    https://git.kernel.org/netdev/net/c/a47c397bb29f

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index 1c572c8daced..6201965bd822 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -1066,11 +1066,6 @@  static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 		goto partial_message;
 	}
 
-	if (skb_has_frag_list(head)) {
-		kfree_skb_list(skb_shinfo(head)->frag_list);
-		skb_shinfo(head)->frag_list = NULL;
-	}
-
 	if (head != kcm->seq_skb)
 		kfree_skb(head);