summaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2013-01-09 20:59:09 +0000
committerDavid S. Miller <davem@davemloft.net>2013-01-10 14:09:57 -0800
commitf26845b43c75d3f32f98d194c1327b5b1e6b3fb0 (patch)
tree8110b37fa3ee70bec5b48db227aa73b55c2e51b8 /net/ipv6/addrconf.c
parentff905b1e4aad8ccbbb0d42f7137f19482742ff07 (diff)
downloadop-kernel-dev-f26845b43c75d3f32f98d194c1327b5b1e6b3fb0.zip
op-kernel-dev-f26845b43c75d3f32f98d194c1327b5b1e6b3fb0.tar.gz
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> Tested-by: Willy Tarreau <w@1wt.eu> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud