Commit 89e43541 authored by David Howells's avatar David Howells Committed by Paolo Abeni
Browse files

rxrpc: Fix error check on ->alloc_txbuf()



rxrpc_alloc_*_txbuf() and ->alloc_txbuf() return NULL to indicate no
memory, but rxrpc_send_data() uses IS_ERR().

Fix rxrpc_send_data() to check for NULL only and set -ENOMEM if it sees
that.

Fixes: 49489bb0 ("rxrpc: Do zerocopy using MSG_SPLICE_PAGES and page frags")
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Reported-by: default avatarMarc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 6b253646
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -349,8 +349,8 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
			 */
			remain = more ? INT_MAX : msg_data_left(msg);
			txb = call->conn->security->alloc_txbuf(call, remain, sk->sk_allocation);
			if (IS_ERR(txb)) {
				ret = PTR_ERR(txb);
			if (!txb) {
				ret = -ENOMEM;
				goto maybe_error;
			}
		}