From: "Jörn Engel" <joern@logfs.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>, lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] random: mix all saved registers into entropy pool
Date: Mon, 19 May 2014 18:39:43 -0400 [thread overview]
Message-ID: <20140519223943.GC14563@logfs.org> (raw)
In-Reply-To: <537A8319.5010100@zytor.com>
On Mon, 19 May 2014 15:18:01 -0700, H. Peter Anvin wrote:
>
> I think this is likely to be particularly valuable during boot. I can
> see it becoming substantially less valuable after that point, but during
> boot is when the most critical.
>
> What I do see as an issue is that the value is probably impossible to
> quantify, and so I feel more than a bit queasy about giving it
> /dev/random credit. However, making sure the pool is well stirred
> during boot is really way more important.
I would feel fairly confident giving this .25 bits of entropy per
event. With 40% unique hashes and assuming at most 1 bit of entropy
for a unique hash, that is a fairly conservative underestimate.
But as you can see from the patch, I feel less confident doing any
kind of entropy-guessing in general and have skipped that step. By
the .25 bits metric, my patch should feed 128 bits of entropy into
both the non-blocking pool and the input pool within the first 5s or
so of boot time. In reality it is likely more.
The other problem to solve is VM clones sharing the same state for the
various pools. Assuming HZ=100 no external interrupts and .25 bits, we
would gather 128 bits in just above 5s. That is not great, but okish.
What worries me is that much of those 5s may be spent inside the idle
loop and have rather predictable register content and we may run
tickless. I have no great solution for that case.
We could change the ratelimiting to, say, 4 interrupts per jiffie.
But that would still not help much in the worst case scenario above,
so the benefits don't seem convincing.
Jörn
--
When you admit that some people are too important to prosecute, it's
just a few short steps to the obvious corollary – that everybody else
is unimportant enough to jail.
-- Matt Taibbi
next prev parent reply other threads:[~2014-05-19 22:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-19 21:17 [PATCH] random: mix all saved registers into entropy pool Jörn Engel
2014-05-19 21:23 ` Jörn Engel
2014-05-19 22:18 ` H. Peter Anvin
2014-05-19 22:39 ` Jörn Engel [this message]
2014-05-19 23:05 ` H. Peter Anvin
2014-05-19 23:18 ` Jörn Engel
2014-05-20 12:12 ` Andi Kleen
2014-05-20 20:08 ` Jörn Engel
2014-05-21 19:39 ` Andi Kleen
2014-05-21 20:29 ` Jörn Engel
2014-05-21 20:38 ` Jörn Engel
2014-06-04 23:17 ` Jörn Engel
2014-06-10 16:14 ` Theodore Ts'o
2014-06-11 0:10 ` Jörn Engel
2014-06-11 15:27 ` Theodore Ts'o
2014-06-12 20:25 ` Jörn Engel
2014-06-12 20:05 ` Jörn Engel
-- strict thread matches above, loose matches on Subject: below --
2014-02-02 20:36 [PATCH,RFC] random: collect cpu randomness Jörn Engel
2014-02-03 15:50 ` Jörn Engel
2014-02-03 16:37 ` Theodore Ts'o
2014-02-03 18:48 ` Jörn Engel
2014-03-23 18:00 ` [PATCH] random: mix all saved registers into entropy pool Jörn Engel
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=20140519223943.GC14563@logfs.org \
--to=joern@logfs.org \
--cc=hpa@zytor.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.