From: Stephan Mueller <smueller@chronox.de>
To: "H. Peter Anvin" <hpa@linux.intel.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>,
LKML <linux-kernel@vger.kernel.org>,
linux-crypto@vger.kernel.org
Subject: arch_random_refill
Date: Mon, 12 May 2014 01:01:58 +0200 [thread overview]
Message-ID: <21542339.0lFnPSyGRS@myon.chronox.de> (raw)
Hi Peter,
some time back when the RDRAND instruction was debated, a patch was offered
for driver/char/random.c that in essence turned /dev/random into a frontend
for RDRAND in case that instruction was available. The patch kind of
monopolized the noise sources such that if a user space "random number hog"
pulled data from /dev/random endlessly, the (almost) only noise source was
RDRAND. As that patch treated RDRAND to provide entropy, the blocking behavior
went away for /dev/random.
That patch did not sit well with some developers and it got finally changed
such that the output of RDRAND is now just XORed with the output of the
"classic" /dev/random behavior -- /dev/random is still blocking.
With the current development cycle for 3.15, the function arch_random_refill
is added as presented in [1]. It now uses RDSEED instead of RDRAND. Yet, the
way this function is called in random_read seems (as I have no system with an
RDSEED, I cannot test) to show the very same behavior as the aforementioned
RDRAND patch: the blocking behavior of /dev/random will be gone and RDSEED
will monopolize the noise sources in case of a user space hog.
Note, I do not see an issue with the patch that adds RDSEED as part of
add_interrupt_randomness outlined in [2]. The reason is that this patch does
not monopolizes the noise sources.
I do not want to imply that Intel (or any other chip manufacturer that will
hook into arch_random_refill) intentionally provides bad entropy (and this
email shall not start a discussion about entropy again), but I would like to
be able to only use noise sources that I can fully audit. As it is with
hardware, I am not able to see what it is doing.
Thus, may I ask that arch_random_refill is revised such that it will not
monopolize the noise sources? If somebody wants that, he can easily use rngd.
[1] https://lkml.org/lkml/2014/3/4/968
[2] https://lkml.org/lkml/2014/3/4/934
Thanks
Stephan
--
| Cui bono? |
next reply other threads:[~2014-05-11 23:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-11 23:01 Stephan Mueller [this message]
2014-05-12 3:22 ` arch_random_refill H. Peter Anvin
2014-05-12 3:36 ` arch_random_refill Stephan Mueller
2014-05-12 3:44 ` arch_random_refill H. Peter Anvin
2014-05-12 3:45 ` arch_random_refill H. Peter Anvin
2014-05-12 3:30 ` [tip:x86/urgent] x86, rdrand: When nordrand is specified, disable RDSEED as well tip-bot for H. Peter Anvin
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=21542339.0lFnPSyGRS@myon.chronox.de \
--to=smueller@chronox.de \
--cc=hpa@linux.intel.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®