From: Soheil Hassas Yeganeh <soheil.k...@gmail.com>
Date: Wed,  6 Mar 2019 13:01:36 -0500

> From: Soheil Hassas Yeganeh <soh...@google.com>
> 
> Returning 0 as inq to userspace indicates there is no more data to
> read, and the application needs to wait for EPOLLIN. For a connection
> that has received FIN from the remote peer, however, the application
> must continue reading until getting EOF (return value of 0
> from tcp_recvmsg) or an error, if edge-triggered epoll (EPOLLET) is
> being used. Otherwise, the application will never receive a new
> EPOLLIN, since there is no epoll edge after the FIN.
> 
> Return 1 when there is no data left on the queue but the
> connection has received FIN, so that the applications continue
> reading.
> 
> Fixes: b75eba76d3d72 (tcp: send in-queue bytes in cmsg upon read)
> Signed-off-by: Soheil Hassas Yeganeh <soh...@google.com>
> Acked-by: Neal Cardwell <ncardw...@google.com>
> Signed-off-by: Eric Dumazet <eduma...@google.com>
> Acked-by: Yuchung Cheng <ych...@google.com>

Applied and queued up for -stable, thank you.

Reply via email to