Adapun kerentanan keamanan "Spectre", "Retpoline" diperkenalkan sebagai solusi untuk mengurangi risiko. Namun, saya sudah membaca posting yang menyebutkan:
Jika Anda membangun kernel tanpa
CONFIG_RETPOLINE
, Anda tidak dapat membangun modul dengan retpoline dan kemudian mengharapkan mereka memuat - karena simbol thunk tidak diekspor.Jika Anda membangun kernel dengan retpoline, Anda dapat berhasil memuat modul yang tidak dibangun dengan retpoline. ( Sumber )
Apakah ada cara umum / generik / terpadu yang mudah dan umum untuk memeriksa apakah kernel "Retpoline" diaktifkan atau tidak? Saya ingin melakukan ini agar installer saya dapat menggunakan modul kernel yang tepat untuk diinstal.
sumber
$ grep . /sys/devices/system/cpu/vulnerabilities/*
, yang disarankan dalam blog Greg Kroah-Hartman .head /sys/devices/system/cpu/vulnerabilities/*
diri sendiri ;-). Yang saat ini mencakup kerentanan Meltdown / Specter, tetapi juga harus mencakup kerentanan masa depan yang sifatnya serupa (namespace sengaja dibuat generik).head
memberikan output yang diformat lebih bagus.Jawaban Stephen Kitt lebih komprehensif dalam kasus khusus ini, karena dukungan retpoline juga memerlukan versi kompiler baru.
Tetapi dalam kasus umum, sebagian besar distribusi memiliki file konfigurasi kernel yang tersedia di salah satu lokasi berikut:
/boot/config-4.xx.xx-...
/proc/config.gz
Maka Anda bisa saja
zgrep CONFIG_RETPOLINE /boot/config* /proc/config.gz
sumber
/boot/config*
, karena itu mungkin ditemukanCONFIG_RETPOLINE
pada gambar kernel yang diinstal tetapi saat ini tidak berjalan, memberikan rasa aman yang salah. Memeriksa/proc/config.gz
atau/sys/...
aman, tetapi banyak distribusi Linux mengkompilasi kernel tanpa/proc/config.gz
./boot/config-$(uname -r)
, kalau begitu?/boot/config-$(uname -r)
juga tidak mudah untuk dibuktikan: itu masih tidak menjamin bahwa konfigurasi cocok dengan kernel yang sedang berjalan. Kernel distro tetap samauname -r
di beberapa versi, selama kernel ABI tidak berubah.