net-tcp: fastopen: fix high order allocations
authorEric Dumazet <edumazet@google.com>
Thu, 20 Feb 2014 18:09:18 +0000 (10:09 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Feb 2014 05:05:21 +0000 (00:05 -0500)
commitf5ddcbbb40aa0ba7fbfe22355d287603dbeeaaac
tree891b56a6481cf19747018c832be557613e5b5a02
parent68ad785c007246490b220ae958b544671339059b
net-tcp: fastopen: fix high order allocations

This patch fixes two bugs in fastopen :

1) The tcp_sendmsg(...,  @size) argument was ignored.

   Code was relying on user not fooling the kernel with iovec mismatches

2) When MTU is about 64KB, tcp_send_syn_data() attempts order-5
allocations, which are likely to fail when memory gets fragmented.

Fixes: 783237e8daf13 ("net-tcp: Fast Open client - sending SYN-data")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Tested-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp.c
net/ipv4/tcp_output.c