]> git.karo-electronics.de Git - karo-tx-linux.git/commit
tcp: don't mask EOF and socket errors on nonblocking splice receive
authorLennert Buytenhek <buytenh@marvell.com>
Tue, 20 Jan 2009 23:25:21 +0000 (15:25 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 25 Jan 2009 00:41:43 +0000 (16:41 -0800)
commit6a2b80089ea067018ab287e2e9df5387ee811013
tree3d557d6e3c254162aa316eb9eb2dc078d435cb49
parent832484c82b39fe9d47b8ca4a03c270b26befa229
tcp: don't mask EOF and socket errors on nonblocking splice receive

[ Upstream commit: 4f7d54f59bc470f0aaa932f747a95232d7ebf8b1 ]

Currently, setting SPLICE_F_NONBLOCK on splice from a TCP socket
results in masking of EOF (RDHUP) and error conditions on the socket
by an -EAGAIN return.  Move the NONBLOCK check in tcp_splice_read()
to be after the EOF and error checks to fix this.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv4/tcp.c