Messages in this thread | | | Date | Thu, 15 Feb 2024 14:01:04 +0100 | From | "Jason A. Donenfeld" <> | Subject | Re: [PATCH 1/2] x86/random: Retry on RDSEED failure |
| |
On Wed, Feb 14, 2024 at 03:11:03PM -0500, Theodore Ts'o wrote: > On Wed, Feb 14, 2024 at 09:04:34PM +0100, Jason A. Donenfeld wrote: > > AMD people, Intel people: what are the fullest statements we can rely > > on here? Do the following two statements work? > > > > 1) On newer chips, RDRAND never fails. > > 2) On older chips, RDRAND never fails if you try 10 times in a loop, > > unless you consider host->guest attacks, which we're not, because CoCo > > is only a thing on the newer chips. > > > > If those hold true, then the course of action would be to just add a > > WARN_ON(!ok) but keep the loop as-is. > > I think we may only want to do the WARN_ON in early boot. Otherwise, > on older chips, if a userspace process executes RDRAND is a tight > loop, it might cause the WARN_ON to trigger, which is considered > undesirable (and is certainly going to be something that could result > in a syzbot complaint).
Yea, seems reasonable. Or maybe we just don't bother adding any WARN there and just address the CoCo thing with the patch 2/2. As it turns out, on normal systems, the RNG is designed anyway to deal with a broken or missing RDRAND. So maybe adding these heuristics to warn when the CPU is broken isn't worth it? Or maybe that's an interesting thing to do? Dunno, I'm indifferent about it I suppose. But I agree if it's added, doing it at early boot only makes most sense.
Jason
| |