ฉันต้องการอัพเกรดระบบของฉันเพื่อลดช่องโหว่ Spectre และ Meltdown
หน้า Ubuntu ที่เกี่ยวข้องระบุว่าฉันจำเป็นต้องอัปเดตไมโครโค้ด: "จากมุมมองของแขกและไม่ใช่ไฮเปอร์ไวเซอร์ที่ไม่ใช่โลหะเมื่อมีการอัพเดตเคอร์เนล 21 ก.พ. เท่าที่เราทราบการบรรเทาผลกระทบสำหรับ Spectre และ Meltdown บน 64 บิต amd64, ppc64el และ s390x เป็นคุณสมบัติที่สมบูรณ์ตราบใดที่มีการอัปเดตไมโครโค้ดเฟิร์มแวร์และไฮเปอร์ไวเซอร์ทั้งหมดภายใต้ระบบ ... "
ฉันมีintel-microcode
และiucode-tool
ติดตั้งและอัปเดตแล้วอย่างไรก็ตามการทำงานdmesg | grep -i microcode
และการgrep -i microcode /var/log/syslog*
คืนไม่มีอะไรทำให้ฉันคิดว่า cpu microcode ไม่ได้รับการอัปเดตหรืออย่างอื่นไม่ถูกต้อง
แพคเกจเป็นรุ่นล่าสุดและเริ่มใหม่ตั้งแต่การอัพเดทครั้งล่าสุด
ระบบปฏิบัติการ: Lubuntu 16.04
ซีพียู: Intel N3700 (Braswell)
repos ซอฟต์แวร์ที่เปิดใช้งาน: หลักจักรวาล
เปิดใช้งานการปรับปรุง: xenial-security
แก้ไข:
ผลลัพธ์ของgrep name /proc/cpuinfo | sort -u
คือ
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz
โปรเซสเซอร์ของฉันไม่ใช่ Skylake หรือทะเลสาบ Kaby
ใน/proc/cpuinfo
Hyper-Threading แสดงว่าได้รับการสนับสนุน แต่หน้า Intel นี้บอกว่าไม่รองรับ:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz
แก้ไข 2:
ฉันวิ่งsudo update-initramfs -u
และรีบูต ผลลัพธ์ยังคงเหมือนเดิม
ผลลัพธ์ของ/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
:
/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:
ดูเหมือนว่าไม่มีไมโครโค้ดที่อัปเดตสำหรับ cpu ของฉันซึ่งน่าสนใจเนื่องจากมีไมโครโค้ดที่เลือกได้ในAdditional Drivers
แท็บก่อนหน้านี้ (ปลายปี 2017); ตอนนี้ไม่มี
แก้ไข 3:
ผลลัพธ์ของ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]
แก้ไข 4:
ตอนนี้ฉันเข้าใจแล้วว่าไม่มีการอัปเดตสำหรับ cpu microcode ซึ่งหมายความว่าปัญหาดั้งเดิมได้รับการแก้ไขแล้วและฉันจะทิ้งไว้ตามที่เป็นอยู่
อย่างไรก็ตามdmesg
และฉันjournalctl -b
ควรจะยังคงบรรทัดเอาท์พุทเกี่ยวกับเวอร์ชั่นไมโครโค้ด
ฉันยังสังเกตเห็นว่าบันทึกการบูตเหล่านี้เริ่มต้นที่ "5" แทนที่จะเป็น tipical 1 หรือ 0 และมีข้อความแสดงข้อผิดพลาดซ้ำซึ่งทำให้พวกเขาถูกตัดทอน ( dmesg
ไม่พูดอะไรเกี่ยวกับการตัดทอน แต่journalctl
บอกว่ามีข้อความเคอร์เนลพลาด 371635 ดูด้านล่าง) . ฉันจะไม่สนใจสิ่งนี้ในตอนนี้
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
และตรวจสอบอีกครั้งหลังจากรีบูต
/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
grep name /proc/cpuinfo | sort -u
และหมายเหตุ "โปรเซสเซอร์บางตัวในรายการทั้งสองนี้ไม่ได้รับผลกระทบเพราะขาดการสนับสนุนการทำเกลียวมากเกินไปเรียกใช้คำสั่งด้านล่างในเชลล์บรรทัดคำสั่ง (เช่น xterm) และจะส่งข้อความถ้าไฮเปอร์ เธรดได้รับการสนับสนุน / เปิดใช้งาน: "grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"