Lorsque je me connecte avec LightDM sur mon ordinateur portable exécutant Debian Unstable, il a récemment commencé à se bloquer pendant environ 2 minutes jusqu'à ce que journalctl
affiche le message kernel: random: crng init done
. Lorsque j'appuie sur des touches aléatoires de mon clavier pendant qu'il se bloque, il se connecte plus rapidement (environ 10 secondes). Avant, je n'avais pas ce problème, y a-t-il un moyen de le résoudre ?
Modifier :en utilisant linux-image-4.15.0-3-amd64
au lieu de linux-image-4.16.0-1-amd64
fonctionne, mais je ne veux pas utiliser un noyau plus ancien.
Réponse acceptée :
On dirait que certains composants de votre système bloquent tout en essayant d'obtenir des données aléatoires du noyau (c'est-à-dire en lisant depuis /dev/urandom
ou en appelant getrandom()
) en raison d'une entropie insuffisante (aléatoire) disponible.
Je n'ai pas d'explication prête pour expliquer pourquoi le problème dépend d'une version particulière du noyau, ou quel composant de votre système bloque réellement, mais quelle que soit la cause première,
En effet, comme l'a souligné Bigon dans sa réponse, il semble s'agir d'un bogue du noyau introduit en 4.16 :
Ce bogue est introduit par le changement "crng_init> 0" à "crng_init> 1"
dans ce commit :https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33Cette modification affecte par inadvertance urandom_read, provoquant le traitement de l'état
crng_init==1 comme non initialisé et provoquant le blocage d'urandom
, bien que cet état existe spécifiquement pour prendre en charge
les besoins non cryptographiques au démarrage :https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c# n1863La restauration de 43838a23a05f ("random:fix crng_ready() test") corrige le bogue
(testé avec 4.16.5-1), mais cela peut poser des problèmes de sécurité
(CVE-2018-1108 est mentionné dans 43838a23a05f ). Je teste un correctif plus
localisé qui devrait être plus acceptable pour l'amont.
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)
… Pourtant, vous pouvez essayer d'utiliser haveged
ou rng-tools
pour collecter l'entropie plus rapidement.