rxrpc: Fix hard call timeout units

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: a158bdd324 ("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>
This commit is contained in:
David Howells 2023-04-28 21:27:54 +01:00 committed by David S. Miller
parent 4f163bf82b
commit 0d098d83c5

View File

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