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