]> git.itanic.dy.fi Git - linux-stable/commit
ip: convert tcp_sendmsg() to iov_iter primitives
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 28 Nov 2014 18:40:20 +0000 (13:40 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 4 Feb 2015 06:34:14 +0000 (01:34 -0500)
commit57be5bdad759b9dde8b0d0cc630782a1a4ac4b9f
tree12d1b9c40bd20aa5e5038382fd20da05f09b2881
parentcacdc7d2f9fa42e29b650e2879df42ea7d7833c1
ip: convert tcp_sendmsg() to iov_iter primitives

patch is actually smaller than it seems to be - most of it is unindenting
the inner loop body in tcp_sendmsg() itself...

the bit in tcp_input.c is going to get reverted very soon - that's what
memcpy_from_msg() will become, but not in this commit; let's keep it
reasonably contained...

There's one potentially subtle change here: in case of short copy from
userland, mainline tcp_send_syn_data() discards the skb it has allocated
and falls back to normal path, where we'll send as much as possible after
rereading the same data again.  This patch trims SYN+data skb instead -
that way we don't need to copy from the same place twice.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/net/sock.h
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_output.c