aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2009-12-03 01:24:02 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-03 01:24:02 -0500
commit8818a9d884e3a589899be3303958fff182e98e55 (patch)
tree3ad83fc6fe8b4c1633437f5c5415ff34c566ce8b
parente6b09ccada2e4ab8ee25a7c3ac72fcd1bc7101c4 (diff)
tcp: clear hints to avoid a stale one (nfs only affected?)
Eric Dumazet mentioned in a context of another problem: "Well, it seems NFS reuses its socket, so maybe we miss some cleaning as spotted in this old patch" I've not check under which conditions that actually happens but if true, we need to make sure we don't accidently leave stale hints behind when the write queue had to be purged (whether reusing with NFS can actually happen if purging took place is something I'm not sure of). ...At least it compiles. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/tcp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 28b04ff8c967..e2d2ca2509be 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1229,6 +1229,7 @@ static inline void tcp_write_queue_purge(struct sock *sk)
1229 while ((skb = __skb_dequeue(&sk->sk_write_queue)) != NULL) 1229 while ((skb = __skb_dequeue(&sk->sk_write_queue)) != NULL)
1230 sk_wmem_free_skb(sk, skb); 1230 sk_wmem_free_skb(sk, skb);
1231 sk_mem_reclaim(sk); 1231 sk_mem_reclaim(sk);
1232 tcp_clear_all_retrans_hints(tcp_sk(sk));
1232} 1233}
1233 1234
1234static inline struct sk_buff *tcp_write_queue_head(struct sock *sk) 1235static inline struct sk_buff *tcp_write_queue_head(struct sock *sk)