liske/needrestart

Microcode not the expected revision

Closed this issue · 1 comments

I'm not sure there actually is a microcode update, but Needrestart thinks there is. Rebooting does not make a difference. I believe this started either after a recent update to linux-firmware or after updating the kernel from 6.0 to 6.1.

❯ sudo needrestart -v -w
[main] eval /etc/needrestart/needrestart.conf
[main] needrestart v3.6
[main] running in root mode
[Core] Using UI 'NeedRestart::UI::stdio'...
[main] systemd detected
[ucode] using NeedRestart::uCode::Intel
[ucode] using NeedRestart::uCode::AMD
[uCode/Intel] #0 current revision: 0x041c
++ iucode_tool --scan-system
++ grep -oE '[^[:space:]]+$'
+ sig=0x000906a3
+ '[' -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ']'
++ cat /sys/devices/system/cpu/cpu0/microcode/processor_flags
+ filter='-s 0x000906a3,0x80'
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ imgfiles=
+ for img in /boot/intel-ucode.img /boot/early_ucode.cpio
+ '[' -r /boot/intel-ucode.img ']'
+ imgfiles=' /boot/intel-ucode.img'
+ for img in /boot/intel-ucode.img /boot/early_ucode.cpio
+ '[' -r /boot/early_ucode.cpio ']'
+ '[' -n ' /boot/intel-ucode.img' ']'
+ bsdtar -Oxf /dev/stdin
+ cat /boot/intel-ucode.img
+ iucode_tool -l -s 0x000906a3,0x80 -tb -
[uCode/Intel] #0 available revision: 0x0424
+ exit 0

Pending processor microcode upgrade!

Diagnostics:
  The currently running processor microcode revision is 0x041c which is not the expected
microcode revision 0x0424.

Restarting the system to load the new processor microcode will not be handled automatically,
so you should consider rebooting. [Return]

❯ inxi -Cazy
CPU:
  Info: model: 12th Gen Intel Core i7-12700H bits: 64 type: MST AMCP
    arch: Alder Lake gen: core 12 level: v3 note: check built: 2021+
    process: Intel 7 (10nm ESF) family: 6 model-id: 0x9A (154) stepping: 3
    microcode: 0x41C
  Topology: cpus: 1x cores: 14 mt: 6 tpc: 2 st: 8 threads: 20 smt: enabled
    cache: L1: 1.2 MiB desc: d-8x32 KiB, 6x48 KiB; i-6x32 KiB, 8x64 KiB
    L2: 11.5 MiB desc: 6x1.2 MiB, 2x2 MiB L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 2614 high: 2700 min/max: 400/4600:4700:3500 scaling:
    driver: intel_pstate governor: powersave cores: 1: 2700 2: 2700 3: 2700
    4: 2700 5: 2700 6: 2700 7: 2700 8: 2700 9: 2700 10: 2700 11: 2700 12: 2700
    13: 997 14: 2700 15: 2700 16: 2700 17: 2700 18: 2700 19: 2700 20: 2700
    bogomips: 107560
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB
    filling, PBRSB-eIBRS: SW sequence
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected

needrestart 3.6-2
iucode-tool 2.3.1-4
intel-ucode 20221108-1
linux-firmware 20221214.f3c283e-1
linux61 6.1.1-1
Manjaro GNOME

Sorry, it was neither an issue with needrestart nor iucode-tool. It turns out rEFInd wasn't loading the intel-ucode.img, so I manually added it.