linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 05/50] net/rds/bind.c: Use prandom_u32_max()
@ 2019-11-29 22:42 George Spelvin
  0 siblings, 0 replies; only message in thread
From: George Spelvin @ 2019-11-29 22:42 UTC (permalink / raw)
  To: linux-kernel, lkml
  Cc: Ka-Cheong Poon, Santosh Shilimkar, linux-rdma, rds-devel

max_t(u16, prandom_u32(), 2) generates 2 three times as often as
any other value.  Operating modulo 65534 improves uniformity.

Signed-off-by: George Spelvin <lkml@sdf.org>
Cc: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Cc: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Cc: linux-rdma@vger.kernel.org
Cc: rds-devel@oss.oracle.com
---
 net/rds/bind.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/rds/bind.c b/net/rds/bind.c
index 5b5fb4ca8d3e5..8293044767b83 100644
--- a/net/rds/bind.c
+++ b/net/rds/bind.c
@@ -104,7 +104,7 @@ static int rds_add_bound(struct rds_sock *rs, const struct in6_addr *addr,
 			return -EINVAL;
 		last = rover;
 	} else {
-		rover = max_t(u16, prandom_u32(), 2);
+		rover = 2 + prandom_u32_max(65534);
 		last = rover - 1;
 	}
 
-- 
2.26.0


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

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

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-29 22:42 [RFC PATCH v1 05/50] net/rds/bind.c: Use prandom_u32_max() George Spelvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).