]> git.baikalelectronics.ru Git - kernel.git/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)
commit0cfa9ab9f286bcf1f7a6f10711ae71dfc98471a9
tree12d1b9c40bd20aa5e5038382fd20da05f09b2881
parent62f6ad092983663c793b7cec56bc35c4c8be8f95
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