É possível verificar o uso do KPTI e do ASID / PCID nos logs históricos do kernel?

0

Eu tenho meses de registros do kernel salvos. Posso obter informações úteis sobre quando meu sistema começou a usar o KPTI e, possivelmente, o ASID/PCID que atenua seu desempenho?

Estou interessado especificamente nos kernels do Fedora 4.14 - 4.15.

Meu kernel atual é 4.15.10-300.fc27.x86_64 e tem o KPTI ativado.

$ cat /sys/devices/system/cpu/vulnerabilities/meltdown 
Mitigation: PTI

Eu tentei uma pesquisa ingênua, mas não houve resultados.

$ journalctl --since=2018-01-01 _TRANSPORT=kernel | grep -iE "kpti|asid|pcid"

Contexto

Estou tentando depurar um acidente horrível com o Xwayland .

O acidente parece ter começado por mim em 2018-02-28. Para outros, é mais frequente e talvez já em 2018-02-25.

Eu estava muito desconfiado sobre as atualizações do microcódigo da CPU, um bug no qual se sabe que causa "falhas de página inesperadas". No entanto, a linha do tempo não é totalmente convincente. Então, isso me fez pensar, já que eu estou investigando falhas de páginas inesperadas, outro lugar para procurar seria o kernel. E, obviamente, houve algumas grandes mudanças recentemente no suporte à tabela de páginas do kernel!

Meu kernel foi atualizado da linha 4.14 para 4.15 (com qualquer correção que o Fedora tenha aplicado) na data 2018-02-18.

Feb 16 18:59:00 alan-laptop kernel: Linux version 4.14.18-300.fc27.x86_64 ([email protected]) (gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)) #1 SMP Thu Feb 8 01:35:31 UTC 2018
Feb 18 12:50:42 alan-laptop kernel: Linux version 4.15.3-300.fc27.x86_64 ([email protected]) (gcc version 7.3.1 20180130 (Red Hat 7.3.1-2) (GCC)) #1 SMP Tue Feb 13 17:02:01 UTC 2018
    
por sourcejedi 24.03.2018 / 21:00

1 resposta

0

O KPTI é mostrado por esta linha:

Jan 04 14:40:33 alan-laptop kernel: Kernel/User page tables isolation: enabled

Se você desativar PCID passando nopcid , há uma mensagem de log.

+   pr_info("nopcid: PCID feature disabled\n");

Caso contrário, você precisa de algum conhecimento profundo para verificar as versões do kernel, desculpe.

O suporte a PCID foi implementado na versão do kernel upstream 4.14 . Ele deve ser ativado se o seu cpu o suportar ( pcid e pge flags em lscpu ), a menos que você esteja usando o Xen ("Xen PV precisaria de algum trabalho") ou inicializando um kernel de 32 bits ("PCID can só pode ser usado no modo de 64 bits ").

Isso fica um pouco confuso. O KPTI foi introduzido subseqüentemente no upstream do Linux 4.15 . No entanto, a mensagem de log acima vem do kernel 4.14.8-300 do Fedora, que deve ter incluído um backport do KPTI. É uma boa notícia, considerando quão catastrófica é a vulnerabilidade do Meltdown. O código para o KPTI, X86_BUG_CPU_INSECURE etc foi backportado para estável a montante 4.14.11 , lançado em 2 de janeiro de 2018.

As outras mensagens mais óbvias, não parecem fornecer um bom suspeito claro para a minha investigação: (.

Atualizações do microcódigo da CPU:

May 18 18:42:52 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x23
May 18 18:42:52 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x24

May 19 09:03:58 alan-laptop kernel: microcode: microcode updated early to revision 0x24, date = 2016-04-29
May 19 09:03:58 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x24
May 19 09:03:58 alan-laptop kernel: microcode: Microcode Update Driver: v2.2.

Jun 03 09:24:34 alan-laptop kernel: microcode: microcode updated early to revision 0x25, date = 2017-01-27
Jun 03 09:24:34 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x25

Jan 11 08:48:40 alan-laptop kernel: microcode: microcode updated early to revision 0x25, date = 2017-01-27
Jan 11 08:48:40 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x25

Feb 15 17:02:12 alan-laptop kernel: microcode: microcode updated early to revision 0x28, date = 2017-11-17
Feb 15 17:02:12 alan-laptop kernel: Intel Spectre v2 broken microcode detected; disabling Speculation Control
Feb 15 17:02:12 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x28

Mar 21 12:21:28 alan-laptop kernel: microcode: microcode updated early to revision 0x2a, date = 2018-01-18
Mar 21 12:21:28 alan-laptop kernel: microcode: sig=0x306d4, pf=0x40, revision=0x2a

Variante 2 do espectro:

Jan 15 09:10:59 alan-laptop kernel: Spectre V2 mitigation: Vulnerable: Minimal generic ASM retpoline

Jan 25 10:59:57 alan-laptop kernel: Spectre V2 mitigation: Mitigation: Full generic retpoline

Feb 15 17:02:12 alan-laptop kernel: Intel Spectre v2 broken microcode detected; disabling Speculation Control
Feb 15 17:02:12 alan-laptop kernel: Spectre V2 : Mitigation: Full generic retpoline

Mar 21 12:21:28 alan-laptop kernel: Spectre V2 : Mitigation: Full generic retpoline
Mar 21 12:21:28 alan-laptop kernel: Spectre V2 : Spectre v2 mitigation: Enabling Indirect Branch Prediction Barrier
Mar 21 12:21:28 alan-laptop kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
    
por 24.03.2018 / 21:09