svn commit: r268709 - stable/8/sys/rpc
John Baldwin
jhb at FreeBSD.org
Tue Jul 15 19:18:46 UTC 2014
Author: jhb
Date: Tue Jul 15 19:18:46 2014
New Revision: 268709
URL: http://svnweb.freebsd.org/changeset/base/268709
Log:
MFC 255284:
It was reported via email that the cu_sent field used by the
krpc client side UDP was observed as way out of range and
caused the rpc.lockd daemon to hang trying to do an RPC.
Inspection of the code found two places where the RPC request
is re-queued, but the value of cu_sent was not incremented.
Since cu_sent is always decremented when the RPC request is
dequeued, I think this could have caused cu_sent to go out of
range. This patch adds lines to increment cu_sent for these
two cases.
Modified:
stable/8/sys/rpc/clnt_dg.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/rpc/ (props changed)
Modified: stable/8/sys/rpc/clnt_dg.c
==============================================================================
--- stable/8/sys/rpc/clnt_dg.c Tue Jul 15 18:41:30 2014 (r268708)
+++ stable/8/sys/rpc/clnt_dg.c Tue Jul 15 19:18:46 2014 (r268709)
@@ -682,6 +682,7 @@ get_reply:
next_sendtime += retransmit_time;
goto send_again;
}
+ cu->cu_sent += CWNDSCALE;
TAILQ_INSERT_TAIL(&cs->cs_pending, cr, cr_link);
}
@@ -733,6 +734,7 @@ got_reply:
*/
XDR_DESTROY(&xdrs);
mtx_lock(&cs->cs_lock);
+ cu->cu_sent += CWNDSCALE;
TAILQ_INSERT_TAIL(&cs->cs_pending,
cr, cr_link);
cr->cr_mrep = NULL;
More information about the svn-src-stable
mailing list