Message ID | 1362154680-4331-1-git-send-email-nhorman@tuxdriver.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, 2013-03-01 at 11:18 -0500, Neil Horman wrote: > I had a report recently of a user trying to use dropwatch to localise some frame > loss, and they were getting false positives. Turned out they were using a user > space SCTP stack that used raw sockets to grab frames. When we don't have a > registered protocol for a given packet, we record it as a drop, even if a raw > socket receieves the frame. We should only record the drop in the event a raw > socket doesnt exist to receive the frames > > Tested by the reported successfully > > Signed-off-by: Neil Horman <nhorman@tuxdriver.com> > Reported-by: William Reich <reich@ulticom.com> > Tested-by: William Reich <reich@ulticom.com> > CC: "David S. Miller" <davem@davemloft.net> > CC: William Reich <reich@ulticom.com> > --- > net/ipv4/ip_input.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c > index 87abd3e..2bdf802 100644 > --- a/net/ipv4/ip_input.c > +++ b/net/ipv4/ip_input.c > @@ -228,9 +228,11 @@ static int ip_local_deliver_finish(struct sk_buff *skb) > icmp_send(skb, ICMP_DEST_UNREACH, > ICMP_PROT_UNREACH, 0); > } > - } else > + kfree_skb(skb); > + } else { > IP_INC_STATS_BH(net, IPSTATS_MIB_INDELIVERS); > - kfree_skb(skb); > + consume_skb(skb); > + } > } > } > out: Acked-by: Eric Dumazet <edumazet@google.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2013-03-01 at 11:18 -0500, Neil Horman wrote: > I had a report recently of a user trying to use dropwatch to localise some frame > loss, and they were getting false positives. Turned out they were using a user > space SCTP stack that used raw sockets to grab frames. When we don't have a > registered protocol for a given packet, we record it as a drop, even if a raw > socket receieves the frame. We should only record the drop in the event a raw > socket doesnt exist to receive the frames > > Tested by the reported successfully > > Signed-off-by: Neil Horman <nhorman@tuxdriver.com> > Reported-by: William Reich <reich@ulticom.com> > Tested-by: William Reich <reich@ulticom.com> > CC: "David S. Miller" <davem@davemloft.net> > CC: William Reich <reich@ulticom.com> > --- > net/ipv4/ip_input.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Hmm, could you perhaps do the similar fix for IPv6 in the same patch ? Thanks ! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Mar 01, 2013 at 08:38:32AM -0800, Eric Dumazet wrote: > On Fri, 2013-03-01 at 11:18 -0500, Neil Horman wrote: > > I had a report recently of a user trying to use dropwatch to localise some frame > > loss, and they were getting false positives. Turned out they were using a user > > space SCTP stack that used raw sockets to grab frames. When we don't have a > > registered protocol for a given packet, we record it as a drop, even if a raw > > socket receieves the frame. We should only record the drop in the event a raw > > socket doesnt exist to receive the frames > > > > Tested by the reported successfully > > > > Signed-off-by: Neil Horman <nhorman@tuxdriver.com> > > Reported-by: William Reich <reich@ulticom.com> > > Tested-by: William Reich <reich@ulticom.com> > > CC: "David S. Miller" <davem@davemloft.net> > > CC: William Reich <reich@ulticom.com> > > --- > > net/ipv4/ip_input.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > Hmm, could you perhaps do the similar fix for IPv6 in the same patch ? > > Thanks ! > Sure, give me a moment, and I'll respin it. Neil > > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index 87abd3e..2bdf802 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c @@ -228,9 +228,11 @@ static int ip_local_deliver_finish(struct sk_buff *skb) icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, 0); } - } else + kfree_skb(skb); + } else { IP_INC_STATS_BH(net, IPSTATS_MIB_INDELIVERS); - kfree_skb(skb); + consume_skb(skb); + } } } out: