Description of problem:
Back on bz 1066517 it was agreed that systemd would base its random-seed size off of the /proc/sys/kernel/random/poolsize value. The formula was as follows:
read from /proc/poolsize = 4096 bits
calculate bytes = 512 bytes.
multiply by stephan's 2:1 ration = 1024 bytes
multiply by a safety factor of 4 (or 8) = 4096 bytes
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. ls -l /var/lib/systemd/random-seed
RHEL 6 correctly sets the size to 4096.
I cannot see any agreement on 4096 in that bugzilla... Also, nobody answered Lennart's final question at https://bugzilla.redhat.com/show_bug.cgi?id=1066517#c73, when he asked what he was supposed to do after all the discussion... The whole point of the change seems to be a "better safe than sorry, but nobody actually knows if it's safer" approach. Is there an available demonstration where people can actually show how much difference it makes to change that particular random seed?
The problem is that the algorithm used to mix the seed into the pool sometimes touches bits and locations more than once. This means a bigger seed is necessary to touch every bit in every location at least once. RHEL7 GA did this right. Somewhere along the way, a patch in systemd was dropped and now we have a regression.
So you want us to reintroduce https://github.com/lnykryn/systemd-rhel/commit/20436a1eb3a468b7bc32fe1d36cb7c4029519052 again?
Yes, that would solve the problem. Thanks.
fix merged to upstream staging branch ->
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.