diff options
author | David Howells <dhowells@redhat.com> | 2024-03-12 23:37:18 +0000 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-03-14 13:09:53 +0100 |
commit | 89e4354110ca64bf4949cca83b55149bc80733bc (patch) | |
tree | 6a9e4f74e7e9eb3d454c285e7fcf4b0581159680 /net/rxrpc | |
parent | 6b2536462fd48b49563aef0555517cb91047c5f5 (diff) | |
download | linux-89e4354110ca64bf4949cca83b55149bc80733bc.tar.gz linux-89e4354110ca64bf4949cca83b55149bc80733bc.tar.bz2 linux-89e4354110ca64bf4949cca83b55149bc80733bc.zip |
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: 49489bb03a50 ("rxrpc: Do zerocopy using MSG_SPLICE_PAGES and page frags")
Signed-off-by: David Howells <dhowells@redhat.com>
Reported-by: Marc 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: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/rxrpc')
-rw-r--r-- | net/rxrpc/sendmsg.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rxrpc/sendmsg.c b/net/rxrpc/sendmsg.c index 6f765768c49c..894b8fa68e5e 100644 --- a/net/rxrpc/sendmsg.c +++ b/net/rxrpc/sendmsg.c @@ -349,8 +349,8 @@ reload: */ 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; } } |