Linuxové jádro zaznamenává stav KPTI při spouštění, takže spuštění následujícího příkazu vypíše stav na záplatovaných jádrech. Pokud nic nevytiskne, KPTI je zakázáno.
dmesg -wH | grep 'Kernel/User page tables isolation'
Linuxové jádro 4.15rc6 povolilo KPTI (izolaci tabulky stránek jádra) a bylo zpětně portováno na linuxové jádro 4.14.11, 4.9.74, 4.4.109, 3.16.52 a 3.2.97.
Pokud tedy používáte některou z těchto verzí, je KPTI na místě. Většina distribucí (s libovolnou verzí linuxového jádra) podá aktualizaci linuxového jádra během jednoho nebo dvou dnů, aby opravila Meltdown a strašidlo.
Poznámka:Přidejte parametr pti=off
do GRUB za účelem deaktivace KPTI. Pro informace:https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter
Věci, které indikují stav KPTI:
-
Ve standardních jádrech řetězce
Kernel/User page tables isolation: enabled
neboKernel/User page tables isolation: force enabled on command line
vdmesg
výstup znamená, že jádro provádí izolaci tabulky stránek jádra. Poslední zpráva navíc znamená, že jádro si myslí, že pro tento CPU není vyžadována izolace tabulky stránek. -
V některých jádrech opravených dodavatelem (hlavně RedHat a deriváty):nenulová hodnota v
/sys/kernel/debug/x86/pti_enabled
. Nepřítomnost tohoto souboru však nic neznamená:standardní jádro jej neposkytuje. -
V jádře 4.14.18 nebo novějším a odpovídajících verzích jader LTS je obsah
/sys/devices/system/cpu/vulnerabilities/meltdown
:řádek začínajícíMitigation:
označuje, že je na místě zmírnění (KPTI, mikrokód nebo něco jiného), řádek začínajícíNot affected
označuje, že se předpokládá, že CPU není tímto problémem ovlivněn, a řádek začínajícíVulnerable
označuje, že CPU je považováno za zranitelné, ale není zavedeno žádné nebo nedostatečné zmírnění.
Věci, které neindikují stav KPTI:
-
Verze jádra. Kernel 4.14.11 a novější a odpovídající verze jader 4.1, 4, 4 a 4.9 LTS jsou schopné KPTI, ale mohou být kompilovány s vypnutým a lze jej zakázat při spouštění. Navíc verze starší než tyto nejsou automaticky ohroženy:některá distribuce zpětně portovala záplaty KPTI na starší jádra.
-
bugs : cpu_insecure
v/proc/cpuinfo
. Přítomnost tohoto označuje, že pokud jádro je zkompilováno pro izolaci tabulky stránek a if izolace tabulky stránek nebyla při spouštění nebo za běhu deaktivována, pak bude použita izolace tabulky stránek. Navíc není naznačují, že CPU je zranitelné vůči útoku Meltdown:jádro 4.14.11 jej nastavuje pro všechny procesory x86, zatímco jádro 4.14.12 jej nastavuje pro všechny CPU jiné než AMD, dokonce i takové, jako je Pentium MMX nebo „Bonnell“ Atom CPU, které nejsou zranitelné. -
CONFIG_PAGE_TABLE_ISOLATION=y
v konfiguraci jádra. To pouze naznačuje, že jádro je schopné izolovat tabulku stránek jádra. KPTI lze zakázat při bootování z příkazového řádku jádra pomocínopti
nebopti=off
možnosti. Na některých systémech jej lze za běhu zakázat zápisem0
na/sys/kernel/debug/x86/pti_enabled
.
Na podporovaném jádru:
dmesg | grep 'Izolace tabulek stránek jádra/uživatele'
bude mít za následek aktivaci nebo deaktivaci.
Pokud není výsledek, jádro nemá podporu pro KPTI.