[PATCH net] rxrpc: Fix sendmsg() returning EPIPE due to recvmsg() returning ENODATA

David Miller davem at davemloft.net
Mon Jul 20 20:47:43 EDT 2020


From: David Howells <dhowells at redhat.com>
Date: Mon, 20 Jul 2020 12:41:46 +0100

> rxrpc_sendmsg() returns EPIPE if there's an outstanding error, such as if
> rxrpc_recvmsg() indicating ENODATA if there's nothing for it to read.
> 
> Change rxrpc_recvmsg() to return EAGAIN instead if there's nothing to read
> as this particular error doesn't get stored in ->sk_err by the networking
> core.
> 
> Also change rxrpc_sendmsg() so that it doesn't fail with delayed receive
> errors (there's no way for it to report which call, if any, the error was
> caused by).
> 
> Fixes: 17926a79320a ("[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both")
> Signed-off-by: David Howells <dhowells at redhat.com>

Applied and queued up for -stable, thanks David.



More information about the linux-afs mailing list