summaryrefslogtreecommitdiff
path: root/net/ipv4/tcp_ipv4.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-03-23 14:56:33 +0100
committerTakashi Iwai <tiwai@suse.de>2010-03-23 14:56:33 +0100
commit85ae01b2da0ed606a2e8d840aadef90fd30220a1 (patch)
treef9eaa974b88b9db09dab9e5f6876e87d12543fe4 /net/ipv4/tcp_ipv4.c
parent6407d474e6ae6a798fa5ba40b32f508a52de80ff (diff)
parent306ff3e473a970f88680e8355c0900fcab0357e2 (diff)
Merge remote branch 'alsa/devel' into topic/usb
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r--net/ipv4/tcp_ipv4.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 70df40980a87..f4df5f931f36 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -370,6 +370,11 @@ void tcp_v4_err(struct sk_buff *icmp_skb, u32 info)
if (sk->sk_state == TCP_CLOSE)
goto out;
+ if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) {
+ NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
+ goto out;
+ }
+
icsk = inet_csk(sk);
tp = tcp_sk(sk);
seq = ntohl(th->seq);