On Sat, 14 May 2022 14:05:56 +0200 "Jason A. Donenfeld" <Jason@xxxxxxxxx> wrote: > randomize_page is an mm function. It is documented like one. It contains > the history of one. It has the naming convention of one. It looks > just like another very similar function in mm, randomize_stack_top(). > And it has always been maintained and updated by mm people. There is no > need for it to be in random.c. In the "which shape does not look like > the other ones" test, pointing to randomize_page() is correct. > > So move randomize_page() into mm/util.c, right next to the similar > randomize_stack_top() function. > > This commit contains no actual code changes. hm, does it make sense? Probably randomize_page() (which used to be called randomize_range()) should have been called randomize_address(). Is it an MM function then? Not really - it's simply an application of the random number generator. So I think it's more a random thing than an MM thing. > --- a/mm/util.c > +++ b/mm/util.c > @@ -343,6 +343,38 @@ unsigned long randomize_stack_top(unsigned long stack_top) > #endif > } > > +/** > + * randomize_page - Generate a random, page aligned address The patch assumes that drivers/char/random.o is always built into vmlinux, which appears to be the case. If some space-conscious person goes and makes random.o build-time optional then they'll need to make the appropriate adjustments in util.c. I see no problems with this.