Voglio aggiornare il mio sistema per mitigare gli exploit Spectre e Meltdown.
La pagina Ubuntu pertinente afferma che devo aggiornare i microcodici: "Dal punto di vista bare-metal di un guest e non hypervisor, a partire dagli aggiornamenti del kernel del 21 febbraio, per quanto ne sappiamo, le mitigazioni di Spectre e Meltdown su 64-bit amd64, ppc64el e s390x sono completi di funzionalità purché vengano eseguiti tutti gli aggiornamenti di microcodice, firmware e hypervisor sotto il sistema. ... "
Ho intel-microcode
e iucode-tool
installato e aggiornato, tuttavia in esecuzione dmesg | grep -i microcode
e grep -i microcode /var/log/syslog*
nulla di ritorno che mi fa pensare che o il microcodice CPU non viene aggiornato o qualcos'altro che non va.
I pacchetti sono aggiornati e ci sono stati riavvii dall'ultimo aggiornamento.
sistema operativo: Lubuntu 16.04
CPU: Intel N3700 (Braswell)
repository software abilitati: principale, universo
aggiornamenti abilitati: xenial-security
Modifica:
l'output di grep name /proc/cpuinfo | sort -u
è
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz
Il mio processore non è Skylake, né Kaby Lake.
In /proc/cpuinfo
hyper-threading presenta come sostenuto, ma questa pagina Intel dice che non è supportato:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz
Modifica 2:
ho eseguito sudo update-initramfs -u
e riavviato. Le uscite sono sempre le stesse.
Uscita di /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
:
/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:
Sembra che non ci sia un microcodice aggiornato per la mia cpu, il che è interessante poiché in precedenza c'era un microcodice selezionabile nella Additional Drivers
scheda (fine 2017); ora non c'è.
Modifica 3:
output di 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]
Modifica 4:
Ora capisco che non esiste un aggiornamento per il microcodice cpu, il che significa che il problema originale è stato risolto e lo lascerò così com'è.
Tuttavia, dmesg
e journalctl -b
dovrei comunque generare righe sulla versione del microcodice, credo.
Ho anche notato che questi log di avvio iniziano da "5" invece del tipico 1 o 0 e che esiste un messaggio di errore ripetuto che li rende troncati ( dmesg
non dice nulla sul troncamento, ma journalctl
dice che ci sono 371635 messaggi del kernel mancati, vedi sotto) . Lo ignorerò per ora.
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 controllare di nuovo dopo il riavvio.
/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
grep name /proc/cpuinfo | sort -u
e nota "Alcuni dei processori in questi due elenchi non sono interessati perché mancano del supporto dell'hyper-threading. Esegui il comando di seguito in una shell della riga di comando (ad esempio xterm) e verrà visualizzato un messaggio se hyper -threading è supportato / abilitato: "grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"