svn commit: r212309 - stable/8/sys/rpc

Rick Macklem rmacklem at
Wed Sep 8 01:18:10 UTC 2010

Author: rmacklem
Date: Wed Sep  8 01:18:09 2010
New Revision: 212309

  MFC: r211789
  If the first iteration of the do loop in replay_prune()
  succeeded and a subsequent interation failed to find an
  entry to prune, it could loop infinitely, since the
  "freed" variable wasn't reset to FALSE. This patch moves
  setting freed FALSE to inside the loop to fix the problem.

Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/rpc/replay.c
--- stable/8/sys/rpc/replay.c	Tue Sep  7 23:31:48 2010	(r212308)
+++ stable/8/sys/rpc/replay.c	Wed Sep  8 01:18:09 2010	(r212309)
@@ -144,8 +144,8 @@ replay_prune(struct replay_cache *rc)
 	bool_t freed_one;
 	if (rc->rc_count >= REPLAY_MAX || rc->rc_size > rc->rc_maxsize) {
-		freed_one = FALSE;
 		do {
+			freed_one = FALSE;
 			 * Try to free an entry. Don't free in-progress entries

More information about the svn-src-stable-8 mailing list