From: Cong Wang Date: Mon, 10 Dec 2018 20:45:45 +0000 (-0800) Subject: tipc: fix a double kfree_skb() X-Git-Tag: v4.14.92~77 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3009452fb260459deff51533f284dd0d004cbbac;p=users%2Fjedix%2Flinux-maple.git tipc: fix a double kfree_skb() [ Upstream commit acb4a33e9856d5fa3384b87d3d8369229be06d31 ] tipc_udp_xmit() drops the packet on error, there is no need to drop it again. Fixes: ef20cd4dd163 ("tipc: introduce UDP replicast") Reported-and-tested-by: syzbot+eae585ba2cc2752d3704@syzkaller.appspotmail.com Cc: Ying Xue Cc: Jon Maloy Signed-off-by: Cong Wang Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c index 3deabcab48821..8bf40cd9fbf10 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c @@ -243,10 +243,8 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, } err = tipc_udp_xmit(net, _skb, ub, src, &rcast->addr); - if (err) { - kfree_skb(_skb); + if (err) goto out; - } } err = 0; out: