diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2017-11-28 11:28:52 -0600 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2017-11-29 14:44:22 +0000 |
commit | 282ef4729195c8503f7101d574acfb5e7c8a8209 (patch) | |
tree | 3fb0133ea601ed5a3f97f1fbaec0f5f72a70c1ff /net/rxrpc/sendmsg.c | |
parent | 5fc62f6a139a7b06b027bf442cd4205619506f59 (diff) | |
download | linux-282ef4729195c8503f7101d574acfb5e7c8a8209.tar.gz linux-282ef4729195c8503f7101d574acfb5e7c8a8209.tar.bz2 linux-282ef4729195c8503f7101d574acfb5e7c8a8209.zip |
rxrpc: Fix variable overwrite
Values assigned to both variable resend_at and ack_at are overwritten
before they can be used.
The correct fix here is to add 'now' to the previously computed value in
resend_at and ack_at.
Addresses-Coverity-ID: 1462262
Addresses-Coverity-ID: 1462263
Addresses-Coverity-ID: 1462264
Fixes: beb8e5e4f38c ("rxrpc: Express protocol timeouts in terms of RTT")
Link: https://marc.info/?i=17004.1511808959%40warthog.procyon.org.uk
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/sendmsg.c')
-rw-r--r-- | net/rxrpc/sendmsg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rxrpc/sendmsg.c b/net/rxrpc/sendmsg.c index a1c53ac066a1..09f2a3e05221 100644 --- a/net/rxrpc/sendmsg.c +++ b/net/rxrpc/sendmsg.c @@ -233,7 +233,7 @@ static void rxrpc_queue_packet(struct rxrpc_sock *rx, struct rxrpc_call *call, if (resend_at < 1) resend_at = 1; - resend_at = now + rxrpc_resend_timeout; + resend_at += now; WRITE_ONCE(call->resend_at, resend_at); rxrpc_reduce_call_timer(call, resend_at, now, rxrpc_timer_set_for_send); |