tcp: fix ooo_okay setting vs Small Queues
authorEric Dumazet <edumazet@google.com>
Sat, 11 Oct 2014 01:06:35 +0000 (18:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Oct 2014 17:12:00 +0000 (13:12 -0400)
commitb2532eb9abd88384aa586169b54a3e53574f29f8
treef46795756a2b89adab83759a4e47befd8ba8aba6
parent31eff81e94472ddb7549509bf4b6e93e1f6f7dc9
tcp: fix ooo_okay setting vs Small Queues

TCP Small Queues (tcp_tsq_handler()) can hold one reference on
sk->sk_wmem_alloc, preventing skb->ooo_okay being set.

We should relax test done to set skb->ooo_okay to take care
of this extra reference.

Minimal truesize of skb containing one byte of payload is
SKB_TRUESIZE(1)

Without this fix, we have more chance locking flows into the wrong
transmit queue.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_output.c