| To: | "Tomar, Nagendra" <nagendra_tomar@xxxxxxxxxxx> |
|---|---|
| Subject: | Re: BUG in tcp_timer.c:tcp_retransmit_timer() |
| From: | "David S. Miller" <davem@xxxxxxxxxx> |
| Date: | Mon, 29 Mar 2004 20:09:54 -0800 |
| Cc: | linux-net@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx |
| In-reply-to: | <Pine.LNX.4.44.0403290222190.27795-100000@localhost.localdomain> |
| References: | <Pine.LNX.4.44.0403290222190.27795-100000@localhost.localdomain> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
On Mon, 29 Mar 2004 02:39:01 +0530 (IST) Nagendra Singh Tomar <nagendra_tomar@xxxxxxxxxxx> wrote: > While reading the code of tcp_retransmit_timer(), I came across something > which looks liks a BUG. It isn't, read below. > The following line > > if (tcp_retransmit_skb(sk, skb_peek(&sk->write_queue)) > 0) > > should correctly read as > > if (tcp_retransmit_skb(sk, skb_peek(&sk->write_queue)) < 0) Nope, it really does want greater than zero. Less than zero means memory allocation error or something like that, but this is not what this code wants to check for. Read the comment inside this code block, it says it is the code path for "local congestion" and the device output path indicates congestion via positive valued error codes. These codes are the NET_XMIT_* and NET_RX_* macros defined in linux/netdevice.h Thanks for the report though. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [ANNOUNCE] sch_dup - duplicate packet queue discipline [2.6], Catalin BOIE |
|---|---|
| Next by Date: | Re: [PATCH] don't require ip_forwarding for reset on a bridge, David S. Miller |
| Previous by Thread: | [ANNOUNCE] sch_dup - duplicate packet queue discipline [2.6], Catalin BOIE |
| Next by Thread: | Re: BUG in tcp_timer.c:tcp_retransmit_timer(), Nagendra Singh Tomar |
| Indexes: | [Date] [Thread] [Top] [All Lists] |