On Fri, Oct 21, 2022 at 09:43:58PM -0400, Jason A. Donenfeld wrote:
Hey everyone,
Here's the second and final tranche of tree-wide conversions to get
random integer handling a bit tamer. It's predominantly another
Coccinelle-based patchset.
First we s/prandom_u32_max/get_random_u32_below/, since the former is
just a deprecated alias for the latter. Then in the next commit we can
remove prandom_u32_max all together. I'm quite happy about finally being
able to do that. It means that prandom.h is now only for deterministic and
repeatable randomness, not non-deterministic/cryptographic randomness.
That line is no longer blurred.
Then, in order to clean up a bunch of inefficient patterns, we introduce
two trivial static inline helper functions built on top of
get_random_u32_below: get_random_u32_above and get_random_u32_between.
These are pretty straight forward to use and understand. Then the final
two patches convert some gnarly open-coded number juggling to use these
helpers.
I've used Coccinelle for all the treewide patches, so hopefully review
is rather uneventful. I didn't accept all of the changes that Coccinelle
proposed, though, as these tend to be somewhat context-specific. I erred
on the side of just going with the most obvious cases, at least this
time through. And then we can address more complicated cases through
actual maintainer trees.
Since get_random_u32_below() sits in my random.git tree, these patches
too will flow through that same tree.
For drivers/infiniband
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason