summaryrefslogtreecommitdiffstats
path: root/net/tipc
diff options
context:
space:
mode:
authorCong Wang2018-12-10 21:45:45 +0100
committerGreg Kroah-Hartman2019-01-09 17:38:34 +0100
commitb66ecc4f0b36597ee993b93f3a3a161f8309bab4 (patch)
tree9cd0fe6f620eae76d85c9606beae49dea9859d06 /net/tipc
parenttipc: fix a double free in tipc_enable_bearer() (diff)
downloadkernel-qcow2-linux-b66ecc4f0b36597ee993b93f3a3a161f8309bab4.tar.gz
kernel-qcow2-linux-b66ecc4f0b36597ee993b93f3a3a161f8309bab4.tar.xz
kernel-qcow2-linux-b66ecc4f0b36597ee993b93f3a3a161f8309bab4.zip
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 <ying.xue@windriver.com> Cc: Jon Maloy <jon.maloy@ericsson.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/tipc')
-rw-r--r--net/tipc/udp_media.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c
index e685af4f5483..da2d311476ab 100644
--- a/net/tipc/udp_media.c
+++ b/net/tipc/udp_media.c
@@ -245,10 +245,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: