rxrpc: Fix hard call timeout units
authorDavid Howells <dhowells@redhat.com>
Fri, 28 Apr 2023 20:27:54 +0000 (21:27 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 May 2023 06:43:19 +0000 (07:43 +0100)
The hard call timeout is specified in the RXRPC_SET_CALL_TIMEOUT cmsg in
seconds, so fix the point at which sendmsg() applies it to the call to
convert to jiffies from seconds, not milliseconds.

Fixes: a158bdd3247b ("rxrpc: Fix timeout of a call that hasn't yet been granted a channel")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: 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
cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rxrpc/sendmsg.c

index 6caa47d..7498a77 100644 (file)
@@ -699,7 +699,7 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
                fallthrough;
        case 1:
                if (p.call.timeouts.hard > 0) {
-                       j = msecs_to_jiffies(p.call.timeouts.hard);
+                       j = p.call.timeouts.hard * HZ;
                        now = jiffies;
                        j += now;
                        WRITE_ONCE(call->expect_term_by, j);