summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-06-18 11:59:18 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-08 23:15:38 -0700
commit9672388919350b5f188722ac608bdc32f9bc3c3d (patch)
tree6879d38771125699e6e739b431b5c60c6c2df7a1 /net
parent042fe1a2805b175b318db0fa10cf8c9df192fa7c (diff)
downloadlinux-stable-9672388919350b5f188722ac608bdc32f9bc3c3d.tar.gz
linux-stable-9672388919350b5f188722ac608bdc32f9bc3c3d.tar.bz2
linux-stable-9672388919350b5f188722ac608bdc32f9bc3c3d.zip
ipv4: fix multicast losses
[ Upstream commit 9aa3c94ce59066f545521033007abb6441706068 ] Knut Tidemann found that first packet of a multicast flow was not correctly received, and bisected the regression to commit b23dd4fe42b4 (Make output route lookup return rtable directly.) Special thanks to Knut, who provided a very nice bug report, including sample programs to demonstrate the bug. Reported-and-bisectedby: Knut Tidemann <knut.andre.tidemann@jotron.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/route.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 99e6e4bb1c72..b8b5c3ff4045 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1914,9 +1914,7 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
hash = rt_hash(daddr, saddr, dev->ifindex, rt_genid(dev_net(dev)));
rth = rt_intern_hash(hash, rth, skb, dev->ifindex);
- err = 0;
- if (IS_ERR(rth))
- err = PTR_ERR(rth);
+ return IS_ERR(rth) ? PTR_ERR(rth) : 0;
e_nobufs:
return -ENOBUFS;