lkml.org 
[lkml]   [2011]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/3] Add support for architectural random number generator
Date
This version of the patchset uses inlines with alternatives as
proposed by Linus. In order to avoid the issue of "random" vs
"urandom", this hooks into *only* the kernel consumer interfaces
get_random_bytes() and get_random_int(); this means that legacy users
of /dev/urandom in userspace will not get direct use RDRAND, but those
can be eventually converted to using RDRAND directly in userspace.

We can, of course, still both pools randomness via rngd or a future
in-kernel mechanism as proposed by Matt.

Since there was a minor amount of confusion I want to clarify: RDRAND
architecturally has weaker security guarantees than the documented
interface for /dev/random, so we can't just replace all users of
extract_entropy() with RDRAND.

Git tree also available:

git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-rdrand.git rdrand-3

Again, for technical documentation see:

http://software.intel.com/en-us/articles/download-the-latest-bull-mountain-software-implementation-guide/

Changes in version 3:
- Use inline hooks.
- Enable get_random_int() and get_random_bytes() only, in other words
only enable the in-kernel users.
- Drop the preinitialization of the random pools; since they are only
used for userspace consumers when RDRAND is available, they can be fed
entropy via the input mechanism.

Total changes:
Documentation/kernel-parameters.txt | 5 ++
arch/x86/Kconfig | 9 ++++
arch/x86/include/asm/archrandom.h | 75 +++++++++++++++++++++++++++++++++++
arch/x86/kernel/cpu/Makefile | 1 +
arch/x86/kernel/cpu/common.c | 2 +
arch/x86/kernel/cpu/rdrand.c | 73 ++++++++++++++++++++++++++++++++++
drivers/char/random.c | 25 ++++++++++-
include/linux/random.h | 13 ++++++
8 files changed, 200 insertions(+), 3 deletions(-)


\
 
 \ /
  Last update: 2011-07-31 23:31    [W:0.074 / U:2.476 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site