Re: tainted warnings with tcp splicing in 3.7.1

David Miller
2013-01-10T22:39:55Z

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 09 Jan 2013 22:59:09 -0800

> [PATCH] tcp: fix splice() and tcp collapsing interaction
>
> Under unusual circumstances, TCP collapse can split a big GRO TCP packet
> while its being used in a splice(socket->pipe) operation.
>
> skb_splice_bits() releases the socket lock before calling
> splice_to_pipe().
>
> [ 1081.353685] WARNING: at net/ipv4/tcp.c:1330 tcp_cleanup_rbuf+0x4d/0xfc()
> [ 1081.371956] Hardware name: System x3690 X5 -[7148Z68]-
> [ 1081.391820] cleanup rbuf bug: copied AD3BCF1 seq AD370AF rcvnxt AD3CF13
>
> To fix this problem, we must eat skbs in tcp_recv_skb().
>
> Remove the inline keyword from tcp_recv_skb() definition since
> it has three call sites.
>
> Reported-by: Christian Becker <c.becker@traviangames.com>
> Cc: Willy Tarreau <w@1wt.eu>
> Signed-off-by: Eric Dumazet <edumazet@google.com>

Applied.