All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v1 02/50] lib/fault-inject.c: Fix off-by-one error in probability
@ 2019-12-04  5:25 George Spelvin
  0 siblings, 0 replies; only message in thread
From: George Spelvin @ 2019-12-04  5:25 UTC (permalink / raw)
  To: linux-kernel, lkml; +Cc: Akinobu Mita, Anton Blanchard

This is the combination of two fixes.  First, use prandom_u32_max() for
efficiency:
-	if (attr->probability <= prandom_u32() % 100)
+	if (attr->probability <= prandom_u32_max(100))
 		return false

And then a bug-fix:
-	if (attr->probability <= prandom_u32_max(100))
+	if (attr->probability < prandom_u32_max(100))
 		return false

Before, probability = 1 would succeed 2% of the time and 99 would
succeed 100% of the time.  (0% was caught by an earlier test.)

Signed-off-by: George Spelvin <lkml@sdf.org>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Anton Blanchard <anton@samba.org>
---
 lib/fault-inject.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/fault-inject.c b/lib/fault-inject.c
index 8186ca84910bc..e20151fa5515e 100644
--- a/lib/fault-inject.c
+++ b/lib/fault-inject.c
@@ -134,7 +134,7 @@ bool should_fail(struct fault_attr *attr, ssize_t size)
 			return false;
 	}
 
-	if (attr->probability <= prandom_u32() % 100)
+	if (attr->probability < prandom_u32_max(100))
 		return false;
 
 	if (!fail_stacktrace(attr))
-- 
2.26.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-28 16:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-04  5:25 [RFC PATCH v1 02/50] lib/fault-inject.c: Fix off-by-one error in probability George Spelvin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.