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.
Si vous utilisez des noyaux de ligne principale, ou la plupart des noyaux de distributions majeures, la meilleure façon de vérifier la prise en charge complète de retpoline ( ie le noyau a été configuré avec CONFIG_RETPOLINE
, et a été construit avec un compilateur compatible avec la rétpoline) consiste à rechercher "Retpoline générique complète" dans /sys/devices/system/cpu/vulnerabilities/spectre_v2
. Sur mon système:
$ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
Mitigation: Full generic retpoline, IBPB, IBRS_FW
Si vous voulez des tests plus complets, pour détecter les rétpolines sur les noyaux sans le spectre_v2
fichier systree, découvrez comment spectre-meltdown-checker
va sur les choses.
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