On Wed, Aug 3, 2016 at 4:39 PM, Jason Cooper <ja...@lakedaemon.net> wrote: > Two previous attempts have been made to rework this API. The first can be > found at: > > https://lkml.kernel.org/r/cover.1390770607.git.ydrone...@opteya.com > > The second at: > > > https://lkml.kernel.org/r/1469471141-25669-1-git-send-email-william.c.robe...@intel.com > > Previous versions of this series can been seen at: > > RFC: https://lkml.kernel.org/r/20160726030201.6775-1-ja...@lakedaemon.net > v1: https://lkml.kernel.org/r/20160728204730.27453-1-ja...@lakedaemon.net > v2: https://lkml.kernel.org/r/20160730154244.403-1-ja...@lakedaemon.net > > In addition to incorporating ideas from these two previous efforts, this > series > adds several desirable features. First, we take the range as an argument > directly, which removes math both before the call and inside the function. > Second, we return the start address on error. All callers fell back to the > start address on error, so we remove the need to check for errors. Third, we > cap range to prevent overflow. Last, we use kerneldoc to describe the new > function. > > If possible, I'd like to request Acks from the various subsystems so that we > can merge this as one bisectable branch. > > Changes from v2: > - s/randomize_addr/randomize_page/ (Kees Cook) > - PAGE_ALIGN(start) if it wasn't (Kees Cook, Michael Ellerman) > > Changes from v1: > - Explicitly mention page_aligned start assumption (Yann Droneaud) > - pick random pages vice random addresses (Yann Droneaud) > - catch range=0 last > - Add Ack for arm64 (Will Deacon) > > Jason Cooper (7): > random: Simplify API for random address requests > x86: Use simpler API for random address requests > ARM: Use simpler API for random address requests > arm64: Use simpler API for random address requests > tile: Use simpler API for random address requests > unicore32: Use simpler API for random address requests > random: Remove unused randomize_range() > > arch/arm/kernel/process.c | 3 +-- > arch/arm64/kernel/process.c | 8 ++------ > arch/tile/mm/mmap.c | 3 +-- > arch/unicore32/kernel/process.c | 3 +-- > arch/x86/kernel/process.c | 3 +-- > arch/x86/kernel/sys_x86_64.c | 5 +---- > drivers/char/random.c | 36 +++++++++++++++++++++++++----------- > include/linux/random.h | 2 +- > 8 files changed, 33 insertions(+), 30 deletions(-)
This looks great! Thanks for the v3. :) Acked-by: Kees Cook <keesc...@chromium.org> -Kees -- Kees Cook Brillo & Chrome OS Security