From mboxrd@z Thu Jan 1 00:00:00 1970 Reply-To: kernel-hardening@lists.openwall.com MIME-Version: 1.0 Sender: keescook@google.com In-Reply-To: <20160803233913.32511-1-jason@lakedaemon.net> References: <20160728204730.27453-1-jason@lakedaemon.net> <20160803233913.32511-1-jason@lakedaemon.net> From: Kees Cook Date: Wed, 3 Aug 2016 19:41:20 -0700 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: [kernel-hardening] Re: [PATCH v3 0/7] char/random: Simplify random address requests To: Jason Cooper Cc: Michael Ellerman , "Roberts, William C" , Yann Droneaud , Linux-MM , LKML , kernel-hardening , Russell King - ARM Linux , Andrew Morton , Theodore Ts'o , Arnd Bergmann , Greg KH , Catalin Marinas , Will Deacon , Ralf Baechle , "benh@kernel.crashing.org" , Paul Mackerras , "David S. Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , "x86@kernel.org" , Al Viro , Nick Kralevich , Jeffrey Vander Stoep , Daniel Cashman List-ID: On Wed, Aug 3, 2016 at 4:39 PM, Jason Cooper 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.ydroneaud@opteya.com > > The second at: > > https://lkml.kernel.org/r/1469471141-25669-1-git-send-email-william.c.roberts@intel.com > > Previous versions of this series can been seen at: > > RFC: https://lkml.kernel.org/r/20160726030201.6775-1-jason@lakedaemon.net > v1: https://lkml.kernel.org/r/20160728204730.27453-1-jason@lakedaemon.net > v2: https://lkml.kernel.org/r/20160730154244.403-1-jason@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 -Kees -- Kees Cook Brillo & Chrome OS Security