diff mbox

2.6.32.66 tcp regression OOPs

Message ID 20150601074922.GA28740@1wt.eu
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Willy Tarreau June 1, 2015, 7:49 a.m. UTC
Hi,

On Mon, Jun 01, 2015 at 09:00:21AM +0200, Frans Klaver wrote:
> [cc: Willy Tarreau]
> 
> On Mon, Jun 1, 2015 at 3:26 AM,  <starlight.2015q2@binnacle.cx> wrote:
> > Hello,
> >
> > Apoligies if I have submitted to the wrong lists.
> >
> > Encountered a regression in
> > 2.6.32.66 relative to 2.6.32.65.
> >
> > Crash eight minutes after boot.
> >
> > Will responded with additional details
> > if the OOPS is not sufficent.
> >
> > Best Regards
> >
> 
> Did you bisect it?

Eric Dumazet notified me that of something possibly similar due to
a mistake I made when backporting a fix by hand.

Please apply the following patch to see if it fixes the problem :


Thanks,
Willy

--
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

Comments

starlight.2015q2@binnacle.cx June 1, 2015, 3:32 p.m. UTC | #1
Hi,

I found the patch late yesterday and applied it.

Running fine now for 12 hours under active load.

Recommend the patch be rolled into the tarball,
or a notation added to the release page as this
one has severe consequences.

Thank You!


At 09:49 6/1/2015 +0200, Willy Tarreau wrote:
>Hi,
>
>On Mon, Jun 01, 2015 at 09:00:21AM +0200, Frans Klaver wrote:
>> [cc: Willy Tarreau]
>> 
>> On Mon, Jun 1, 2015 at 3:26 AM,  
><starlight.2015q2@binnacle.cx> wrote:
>> > Hello,
>> >
>> > Apoligies if I have submitted to the wrong lists.
>> >
>> > Encountered a regression in
>> > 2.6.32.66 relative to 2.6.32.65.
>> >
>> > Crash eight minutes after boot.
>> >
>> > Will responded with additional details
>> > if the OOPS is not sufficent.
>> >
>> > Best Regards
>> >
>> 
>> Did you bisect it?
>
>Eric Dumazet notified me that of something possibly similar due to
>a mistake I made when backporting a fix by hand.
>
>Please apply the following patch to see if it fixes the problem 
>:
>
>diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c       
>               
>index 5339f066234b..d1e2895bb63c 100644                          
>               
>--- a/net/ipv4/tcp_output.c
>+++ b/net/ipv4/tcp_output.c
>@@ -2136,7 +2136,7 @@ void tcp_send_fin(struct sock *sk)
>	*/
>	if (tskb && (tcp_send_head(sk) || tcp_memory_pressure)) {
> coalesce:
>-		TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_FIN;
>+		TCP_SKB_CB(tskb)->flags |= TCPCB_FLAG_FIN;
>		TCP_SKB_CB(tskb)->end_seq++;
>		tp->write_seq++;
>	if (!tcp_send_head(sk)) {
>
>Thanks,
>Willy

--
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
Willy Tarreau June 1, 2015, 3:47 p.m. UTC | #2
On Mon, Jun 01, 2015 at 11:32:19AM -0400, starlight.2015q2@binnacle.cx wrote:
> Hi,
> 
> I found the patch late yesterday and applied it.
> 
> Running fine now for 12 hours under active load.

Thank you.

> Recommend the patch be rolled into the tarball,
> or a notation added to the release page as this
> one has severe consequences.

I'll emit 2.6.32.67 with it. I didn't know it was that easy to trigger
it, and since feedback comes slowly on 2.6.32, I was waiting a bit for
more feedback before doing another one.

Thank you!
Willy

--
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 mbox

Patch

diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c                      
index 5339f066234b..d1e2895bb63c 100644                                         
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2136,7 +2136,7 @@  void tcp_send_fin(struct sock *sk)
	 */
	if (tskb && (tcp_send_head(sk) || tcp_memory_pressure)) {
 coalesce:
-		TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_FIN;
+		TCP_SKB_CB(tskb)->flags |= TCPCB_FLAG_FIN;
		TCP_SKB_CB(tskb)->end_seq++;
		tp->write_seq++;
	if (!tcp_send_head(sk)) {