News for hackers. Stuff that matters.
Re:Fixing Getrandom() by the8472 on Tuesday October 01, 2019 @03:27PM (#21129545)
So the discussed sources of entropy are

   - interrupts
   - rdrand
   - timer/instruction jitter
Why don't they throw more sources at the problem? LSBs from analog sources such as audio inputs, stray network packets (put the nic in promiscuous mode). Even uninitialized memory might be worth a few bits (not all systems zero it on boot).
Re:Fixing Getrandom() by bonzini on Tuesday October 01, 2019 @03:43PM (#21129716)
This is happening so early that audio and network (and /var where the persistent seed is stored) aren't up. The kernel doesn't want to be susceptible to hangs unless userspace brings up all entropy sources early enough.
Re:Fixing Getrandom() by nwallin on Tuesday October 01, 2019 @05:55PM (#21131154)
This is about GDM, which is the last thing that gets started.

Hardware devices are initialized before init is started, so you should still be able to gather entropy from the various input devices.

Lack of entropy can't cause the kernel to not boot; it's just userspace (typically services which require encryption) which can have a problem. It would be silly to start a webserver or sshd before the FS is remounted rw.

Re:Fixing Getrandom() by megous on Tuesday October 01, 2019 @09:29PM (#21132688)
Not if you use modules.
Re:Fixing Getrandom() by loeg on Wednesday October 02, 2019 @04:16AM (#21134321)
Can you elaborate on what you mean?
Re:Fixing Getrandom() by megous on Wednesday October 02, 2019 @06:41AM (#21134978)
Init is executed before modules start being loaded.
Re:Fixing Getrandom() by the8472 on Tuesday October 01, 2019 @05:45PM (#21131050)
The issue was GDM/X11 starting though, that's later into the boot sequence.
Re:Fixing Getrandom() by loeg on Tuesday October 01, 2019 @05:20PM (#21130812)
More sources don't help; the problem is very early availability. Networking isn't online yet. Uninitialized memory is probably worthless.
Re:Fixing Getrandom() by buckminster on Tuesday October 01, 2019 @07:07PM (#21131853)
They should display a prompt: "Press any number of keys to continue".
Re:Fixing Getrandom() by joemi on Tuesday October 01, 2019 @03:50PM (#21129781)
I'm not sure that analog sources can be relied on to be present in all systems. And I'm not sure that your other suggestions (stray network packets or uninitialized memory) can be relied on to to be sufficiently random in all systems. It seems to me like they're looking for solutions that rely on the processor for the randomness and not on any peripherals.
Re:Fixing Getrandom() by boring_twenties on Tuesday October 01, 2019 @09:13PM (#21132611)
Sorry if I'm missing something, but what would promiscuous mode do in this age, exactly? I personally haven't seen a hub in at least a decade, and on a switched network, is there any difference?
Re:Fixing Getrandom() by icedchai on Tuesday October 01, 2019 @09:31PM (#21132696)
Yes, there's tons of non-unicast traffic: ARP requests, spanning tree, various UDP broadcast packets, etc...
Re:Fixing Getrandom() by teraflop on Tuesday October 01, 2019 @09:36PM (#21132715)
The NIC would receive broadcast traffic regardless of whether promiscuous mode is enabled, wouldn't it?
Re:Fixing Getrandom() by boring_twenties on Tuesday October 01, 2019 @09:48PM (#21132779)
Broadcast packets are received in non-promiscuous mode, obviously. Otherwise none of this would work without it.
Re:Fixing Getrandom() by icedchai on Tuesday October 01, 2019 @10:28PM (#21132966)
Yes, you are correct.. I was more commenting that the "stray" network packets could still be used for timing.