From: "H. Peter Anvin" <hpa@linux.intel.com>
To: "Ted Ts'o" <tytso@mit.edu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <michael@ellerman.id.au>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@linux.intel.com>
Subject: [PATCH v2 0/4] RDSEED support for the Linux kernel
Date: Mon, 17 Mar 2014 16:36:26 -0700 [thread overview]
Message-ID: <1395099390-807-1-git-send-email-hpa@linux.intel.com> (raw)
Upcoming Intel silicon adds a new RDSEED instruction. Whereas RDRAND
returns output from a PRNG, the RDSEED instruction returns fully
conditioned entropy that is suitable for use as seeds to a PRNG.
This patchset adds support for RDSEED in the Linux kernel in three
places:
1. During bootup, use RDSEED to initialize the entropy pool if
available (we already use RDRAND for this). We don't add any
credit at this point, but it will give much better starting point.
2. In the slow path to add_interrupt_randomness, executed once per
second, we take a single RDSEED sample and mix it into the entropy
pool, crediting it at 50% of its rated entropy. This was suggested
by Linus.
3. If we are about to block on /dev/random due to lack of entropy,
attempt an "emergency pool refill" using RDSEED.
Changes since version 1:
a. Rebased on top of random.git:dev.
b. Unbreak the PowerPC build (I had managed to miss that PowerPC had
grown archrandom.h support.)
c. Remove duplicate dummy function definitions in <linux/random.h>.
d. Add a fourth patch containing a microoptimization: avoid the loop
in arch_random_refill() if arch_get_random_seed*() is unavailable.
Comments are, of course, appreciated.
Ted, if you are OK with this could you add this to random.git:dev so
linux-next can pick it up?
-hpa
next reply other threads:[~2014-03-17 23:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-17 23:36 H. Peter Anvin [this message]
2014-03-17 23:36 ` [PATCH v2 1/4] x86, random: Enable the RDSEED instruction H. Peter Anvin
2014-03-17 23:36 ` [PATCH v2 2/4] random: Use arch_get_random_seed*() at init time and once a second H. Peter Anvin
2014-03-17 23:36 ` [PATCH v2 3/4] random: If we have arch_get_random_seed*(), try it before blocking H. Peter Anvin
2014-03-17 23:36 ` [PATCH v2 4/4] random: Add arch_has_random[_seed]() H. Peter Anvin
2014-03-18 3:44 ` Benjamin Herrenschmidt
2014-03-18 18:56 ` H. Peter Anvin
2014-03-18 21:52 ` [PATCH v2 0/4] RDSEED support for the Linux kernel tytso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1395099390-807-1-git-send-email-hpa@linux.intel.com \
--to=hpa@linux.intel.com \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael@ellerman.id.au \
--cc=mingo@kernel.org \
--cc=paulus@samba.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox