Re: [PATCH 2/5] rxrpc: Fix uninitialized error code in rxrpc_send_data_packet()
From: David Howells <dhowells@redhat.com>
Date: 2019-05-28 16:30:49
Also in:
alsa-devel, linux-block, lkml
From: David Howells <dhowells@redhat.com>
Date: 2019-05-28 16:30:49
Also in:
alsa-devel, linux-block, lkml
Geert Uytterhoeven [off-list ref] wrote:
While this is not a real false-positive, I believe it cannot cause harm in practice, as AF_RXRPC cannot be used with other transport families than IPv4 and IPv6.
Agreed.
--- net/rxrpc/output.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c index 004c762c2e8d063c..1473d774d67100c5 100644 --- a/net/rxrpc/output.c +++ b/net/rxrpc/output.c@@ -403,8 +403,10 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct sk_buff *skb, /* send the packet with the don't fragment bit set if we currently * think it's small enough */ - if (iov[1].iov_len >= call->peer->maxdata) + if (iov[1].iov_len >= call->peer->maxdata) { + ret = 0; goto send_fragmentable; + } down_read(&conn->params.local->defrag_sem);
Simply setting 0 is wrong. That would give the impression that the thing worked if support for a new transport address family was added and came through this function without full modification (say AF_INET7 becomes a thing). A better way to do things would be to add a default case into the send_fragmentable switch statement that either BUG's or sets -EAFNOSUPPORT. David