Quero atualizar meu sistema para mitigar as explorações de Spectre e Meltdown.
A página relevante do Ubuntu afirma que eu preciso atualizar os microcódigos: "Do ponto de vista de convidado e não hipervisor, a partir das atualizações do kernel de 21 de fevereiro, tanto quanto sabemos, as atenuações para Spectre e Meltdown em 64 bits amd64, ppc64el e s390x são completos, desde que todas as atualizações de microcódigo, firmware e hipervisor sob o sistema sejam realizadas. ... "
Eu intel-microcode
e iucode-tool
instalado e atualizado, no entanto correndo dmesg | grep -i microcode
e grep -i microcode /var/log/syslog*
retorno nada que me faz pensar que ou o microcódigo cpu não é atualizado ou algo está errado.
Os pacotes estão atualizados e foram reiniciados desde a última atualização.
sistema operacional: Lubuntu 16.04
CPU: Intel N3700 (Braswell)
repositórios de software ativados: principal, universo
atualizações ativadas: xenial-security
Edit:
A saída de grep name /proc/cpuinfo | sort -u
é
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz
Meu processador não é Skylake, nem Kaby lake.
No /proc/cpuinfo
hyper-threading aparece como suportado, mas esta página da Intel diz que não é suportado:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz
Edit 2:
Eu corri sudo update-initramfs -u
e reiniciei. As saídas ainda são as mesmas.
Saída de /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
:
/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:
Parece que não há microcódigo atualizado para minha CPU, o que é interessante, pois havia um microcódigo selecionável na Additional Drivers
guia anteriormente (final de 2017); agora não há.
Editar 3:
Saída de apt list --installed | grep intel-microcode
:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
intel-microcode/xenial-security,now 3.20180108.0+really20170707ubuntu16.04.1 amd64 [installed]
Edit 4:
Agora entendo que não há atualização para o microcódigo da CPU, o que significa que o problema original foi resolvido e deixarei como está.
No entanto, dmesg
e journalctl -b
ainda deve produzir linhas sobre a versão do microcódigo, acredito.
Também notei que esses logs de inicialização começam em "5" em vez dos 1 ou 0 típicos, e há uma mensagem de erro repetida que os torna truncados ( dmesg
não diz nada sobre truncamento, mas journalctl
diz que existem 371635 mensagens de kernel perdidas, veja abaixo) . Vou ignorar isso por enquanto.
March 19 06:36:40 NN systemd-journald[266]: Runtime journal (/run/log/journal/) is 8.0M, max 78.9M, 70.9M free.
March 19 06:36:40 NN systemd-journald[266]: Missed 371635 kernel messages
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
sudo update-initramfs -u && sudo reboot
e verificar novamente após a reinicialização.
/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
grep name /proc/cpuinfo | sort -u
e observe "Alguns dos processadores nessas duas listas não são afetados porque não possuem suporte a hyperthreading. Execute o comando abaixo em um shell de linha de comando (por exemplo, xterm) e ele exibirá uma mensagem se houver hiper -threading é suportado / ativado: "grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"