[RFC PATCH v1 05/50] net/rds/bind.c: Use prandom_u32_max()

From: George Spelvin
Date: Sat Mar 28 2020 - 12:45:06 EST


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@xxxxxxx>
Cc: Ka-Cheong Poon <ka-cheong.poon@xxxxxxxxxx>
Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx>
Cc: linux-rdma@xxxxxxxxxxxxxxx
Cc: rds-devel@xxxxxxxxxxxxxx
---
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