From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: bug#37501: [core-updates] Entropy starvation during boot Date: Sun, 06 Oct 2019 18:42:43 +0200 Message-ID: <877e5h7rlo.fsf@devup.no> References: <87sgolae6l.fsf@devup.no> <87h84qdbmg.fsf@gnu.org> <87y2y0x453.fsf@gnu.org> <87pnjb73la.fsf@devup.no> <87imp3nefk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:32888) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iH9cd-0008Nd-PD for bug-guix@gnu.org; Sun, 06 Oct 2019 12:43:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iH9cc-0005b0-L0 for bug-guix@gnu.org; Sun, 06 Oct 2019 12:43:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37937) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iH9cc-0005al-Ha for bug-guix@gnu.org; Sun, 06 Oct 2019 12:43:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iH9cc-0006i1-E2 for bug-guix@gnu.org; Sun, 06 Oct 2019 12:43:02 -0400 Sender: "Debbugs-submit" Resent-To: bug-guix@gnu.org Resent-Message-ID: In-Reply-To: <87imp3nefk.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 37501-done@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Hi, > > Marius Bakke skribis: > >> I tried it, but it did not make any discernible difference in the >> available entropy right after boot, nor did it aid the CRNG seeding. > > Bah, too bad, though it still doesn=E2=80=99t sound right to consume this= much > entropy right from the start. I=E2=80=99m surprised it doesn=E2=80=99t m= ake any > difference when you remove that bit. I guess generating 512 random bytes does not cost a lot of entropy. Writing that made me curious, so I tested it: $ cat /proc/sys/kernel/random/entropy_avail 3938 $ head -c 512 /dev/urandom > /dev/null && !! 3947 Wait, what? Trying again... $ head -c 512 /dev/urandom > /dev/null && cat /proc/sys/kernel/random/entro= py_avail=20 3693 [...typing this section of the email...] $ head -c 512 /dev/urandom > /dev/null && cat /proc/sys/kernel/random/entro= py_avail=20 3898 > Perhaps we should print the value of /proc/=E2=80=A6/entropy_avail in sev= eral > places during boot time to get a better understanding. That could be useful. My understanding is that we were waiting for the kernel to be absolutely certain that the entropy pool is sufficiently random, i.e. "state 2" from this overview: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?= id=3D43838a23a05fbd13e47d750d3dfd77001536dd33 Once it is initialized, we get an "endless" stream of good random data thanks to the entropy pool and ChaCha20(?). See also this article for an overview of the discussions that lead to Torvalds' patch: https://lwn.net/SubscriberLink/800509/de787577364be340/ Anyway, I pushed the upstream fix in dd6989711370c43676edc974f86c8586f21f80f6. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl2aGYMACgkQoqBt8qM6 VPoz0wf/ffUn+ZsRbKfK/dnREoGnVWtbc4mmYa4Xmd9LwU1npxCNBRMr11b8JNu2 O9GWP3bi54pZhOY7FSCSDxskxR6UYKrY83EaYCzOc29p83d+uATJy7qK/YFsd09P PpbiZLqAa894EdmmNhwGyvV0A3I9LnF1L3jmB43EJljIMWvrsN3pSdnIueRFyO+8 +xUOrqY7+dC3Yso8Dn3wHxRF682yhnJ3nBArCJ2SlelXUfCfFjSxle1nPOQIks+F Ab6P06f3NQ0KLGWbH4cRLkrg92JyHvb+RqycmbBjHe4p72P8xgCeNkAnwgjV5zvo K7YoOp23t9HW9lywNx5b2Ltbx5G7QQ== =rKLL -----END PGP SIGNATURE----- --=-=-=--