Quant à la vulnérabilité de sécurité «Spectre», «Retpoline» a été introduite pour être une solution pour atténuer le risque. Cependant, j'ai lu un article qui mentionnait:
Si vous construisez le noyau sans
CONFIG_RETPOLINE
, vous ne pouvez pas construire de modules avec retpoline, puis vous attendre à ce qu'ils se chargent - car les symboles thunk ne sont pas exportés.Si vous construisez le noyau avec la retpoline, vous pouvez charger avec succès des modules qui ne sont pas construits avec retpoline. ( Source )
Existe-t-il un moyen simple et commun / générique / unifié de vérifier si le noyau est activé "Retpoline" ou non? Je veux le faire pour que mon installateur puisse utiliser la bonne construction du module du noyau à installer.
la source
$ grep . /sys/devices/system/cpu/vulnerabilities/*
, ce qui est suggéré dans le blog de Greg Kroah-Hartman .head /sys/devices/system/cpu/vulnerabilities/*
me préfère ;-). Cela couvre actuellement les vulnérabilités de Meltdown / Spectre, mais devrait également couvrir toutes les futures vulnérabilités de nature similaire (l'espace de noms est délibérément générique).head
donne une sortie formatée plus agréable.La réponse de Stephen Kitt est plus complète dans ce cas spécifique, car le support de retpoline a également besoin d'une nouvelle version du compilateur.
Mais dans le cas général, la plupart des distributions ont le fichier de configuration du noyau disponible dans l'un des emplacements suivants:
/boot/config-4.xx.xx-...
/proc/config.gz
Ensuite, vous pouvez simplement
zgrep CONFIG_RETPOLINE /boot/config* /proc/config.gz
la source
/boot/config*
, car cela peut trouverCONFIG_RETPOLINE
dans une image du noyau qui est installée mais pas en cours d'exécution, donnant un faux sentiment de sécurité. Examiner/proc/config.gz
ou/sys/...
est sûr, mais de nombreuses distributions Linux compilent le noyau sans/proc/config.gz
./boot/config-$(uname -r)
, alors?/boot/config-$(uname -r)
n'est pas non plus infaillible: elle ne garantit toujours pas que la configuration correspond au noyau en cours d'exécution. Les noyaux Distro gardent les mêmesuname -r
sur plusieurs versions, tant que le noyau ABI ne change pas.