This is a note to let you know that I've just added the patch titled

    tcp: fix regression in urgent data handling

to the 3.5-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tcp-fix-regression-in-urgent-data-handling.patch
and it can be found in the queue-3.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From eb69fec480c82c63a5f445a3e4d2f0373964a04b Mon Sep 17 00:00:00 2001
From: Eric Dumazet <[email protected]>
Date: Mon, 17 Sep 2012 12:51:39 +0000
Subject: tcp: fix regression in urgent data handling


From: Eric Dumazet <[email protected]>

[ Upstream commit 1d57f19539c074105791da6384a8ad674bba8037 ]

Stephan Springl found that commit 1402d366019fed "tcp: introduce
tcp_try_coalesce" introduced a regression for rlogin

It turns out problem comes from TCP urgent data handling and
a change in behavior in input path.

rlogin sends two one-byte packets with URG ptr set, and when next data
frame is coalesced, we lack sk_data_ready() calls to wakeup consumer.

Signed-off-by: Eric Dumazet <[email protected]>
Reported-by: Stephan Springl <[email protected]>
Cc: Alexander Duyck <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 net/ipv4/tcp_input.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4818,7 +4818,7 @@ queue_and_out:
 
                if (eaten > 0)
                        kfree_skb_partial(skb, fragstolen);
-               else if (!sock_flag(sk, SOCK_DEAD))
+               if (!sock_flag(sk, SOCK_DEAD))
                        sk->sk_data_ready(sk, 0);
                return;
        }
@@ -5680,8 +5680,7 @@ no_ack:
 #endif
                        if (eaten)
                                kfree_skb_partial(skb, fragstolen);
-                       else
-                               sk->sk_data_ready(sk, 0);
+                       sk->sk_data_ready(sk, 0);
                        return 0;
                }
        }


Patches currently in stable-queue which might be from [email protected] are

queue-3.5/bnx2x-fix-rx-checksum-validation-for-ipv6.patch
queue-3.5/ipv6-mip6-fix-mip6_mh_filter.patch
queue-3.5/l2tp-fix-a-typo-in-l2tp_eth_dev_recv.patch
queue-3.5/net-guard-tcp_set_keepalive-to-tcp-sockets.patch
queue-3.5/net-sched-sch_cbq-avoid-infinite-loop.patch
queue-3.5/net-small-bug-on-rxhash-calculation.patch
queue-3.5/ipv6-raw-fix-icmpv6_filter.patch
queue-3.5/ipv4-raw-fix-icmp_filter.patch
queue-3.5/tcp-fix-regression-in-urgent-data-handling.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to