On Tue, Jan 28, 2020 at 11:59:28AM -0800, Linus Torvalds wrote:
On Tue, Jan 28, 2020 at 11:34 AM Noah Meyerhans noahm@debian.org wrote:
Added torvalds and tytso to the CC list. Linus and Ted, what do you think of the idea of applying 50ee7529ec45 ("random: try to actively add entropy rather than passively wait for it") to the 4.19.y and 4.14.y kernels?
By now I suspect it's the right thing to do. Nobody has complained about it, and it fixed real issues during boot.
Some of those real issues may have ended up being just unnecessary delays rather than complete lockups, but still..
FWIW, at $WORK we backported the patch, but we also added an out of tree patch to disable it on non-x86 systems. That's mainly because I'm still hesitant about the safety of relying on this on non-x86 architectures that may have a much simpler micro-archtecture, and which don't have RDRAND. But we also have a much more stringent (paranoid?) philosophy where if there is a risk that our kernels might be penetrated by a nation-state (viz. Operation Aurora), booting lockups so we know that we might have a problem that should be examined by a human being is actually *preferable*.
But note that we work in a world where if there is a risk of exposure to attacks that can be carried out by a nation state, we'd much rather solve the problem in hardware (viz., a Titan Chip).
This is ultimately a security philosophy problem about what is more important. I'm not terribly worried about doing this for x86, especially the more modern CPU's that have RDRAND. I'm more worried about doing this for say, ARM and RISC-V. The RISC-V folks haven't returned my queries; I haven't had the time to try to find some ARM experts, although the real problem is there are so many different implementations of the ARM architecture, that what might be applicable for one architecture might not be for another.
So I'm not super-enthusiastic about backporting the commit to the stable kernels, but I'm not going to object, either.
Cheers, - Ted
P.S. And for VM's, the real right answer is virtio-rng (since if you don't trust the hypervisor or the entity running the host OS, you have no business using a VM in the first place), but I've had this discussion with Noah on another forum. :-)