Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1013285: needrestart: Failed to check for processor microcode upgrades.

477 views
Skip to first unread message

Nick Lewycky

unread,
Jun 20, 2022, 5:00:03 PM6/20/22
to
Package: needrestart
Version: 3.6-1
Severity: normal

`sudo needrestart -w` always prints "Failed to check for processor
microcode upgrades." on my AMD Ryzen 9 3900X 12-Core Processor.

I also don't have 'cpuid' in /dev/cpu/##/, but fixing that doesn't help.

$ ls -l /dev/cpu/0/
total 0
crw-------. 1 root root 202, 0 Jun 20 02:29 msr
$ lsmod | grep -i cpuid
$ sudo modprobe cpuid
[sudo] password for nicholas:
$ lsmod | grep -i cpuid
cpuid 16384 0
$ ls -l /dev/cpu/0/
total 0
crw-------. 1 root root 203, 0 Jun 20 13:48 cpuid
crw-------. 1 root root 202, 0 Jun 20 02:29 msr
$ sudo /usr/sbin/needrestart -w
Scanning processor microcode...

Failed to check for processor microcode upgrades.

The first core's worth of cpuinfo looks like this:

processor : 0
vendor_id : AuthenticAMD
cpu family : 23
model : 113
model name : AMD Ryzen 9 3900X 12-Core Processor
stepping : 0
microcode : 0x8701021
cpu MHz : 2200.000
cache size : 512 KB
physical id : 0
siblings : 24
core id : 0
cpu cores : 12
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 16
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext
fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc
cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16
sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext
perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp
vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap
clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc
cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr
rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean
flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload
vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips : 7586.41
TLB size : 3072 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

The log from needrestart -w -v shows a failure "Use of uninitialized
value $processor in concatenation (.) or string at
/usr/share/perl5/NeedRestart/uCode.pm line 61.", but I think that's
only an error in a logging statement after it's already failed:

$ sudo /usr/sbin/needrestart -w -v
[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::AMD
[ucode] using NeedRestart::uCode::Intel
[uCode/AMD] #0 Failed to open /dev/cpu/0/cpuid (Missed `modprobe
cpuid`?): No such file or directory
[uCode/AMD] #0 cpuid 0x00870f10 (/proc/cpuinfo)
[uCode/AMD] #0 running ucode 0x08701021
[uCode/AMD] cpuid 0x00100f80: found processor id 0x00001080
[uCode/AMD] cpuid 0x00100f81: found processor id 0x00001081
[uCode/AMD] cpuid 0x00100f62: found processor id 0x00001062
[uCode/AMD] cpuid 0x00100f23: found processor id 0x00001022
[uCode/AMD] cpuid 0x00100f43: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f91: found processor id 0x00001081
[uCode/AMD] cpuid 0x00100f2a: found processor id 0x00001020
[uCode/AMD] cpuid 0x00100f63: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f42: found processor id 0x00001041
[uCode/AMD] cpuid 0x00300f10: found processor id 0x00003010
[uCode/AMD] cpuid 0x00200f31: found processor id 0x00002031
[uCode/AMD] cpuid 0x00100f52: found processor id 0x00001041
[uCode/AMD] cpuid 0x00100fa0: found processor id 0x000010a0
[uCode/AMD] cpuid 0x00100f53: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f22: found processor id 0x00001022
[uCode/AMD] cpuid 0x00500f10: found processor id 0x00005010
[uCode/AMD] cpuid 0x00500f20: found processor id 0x00005020
[uCode/AMD] processor id 0x00001022: available ucode 0x01000083
[uCode/AMD] processor id 0x00001020: available ucode 0x01000084
[uCode/AMD] processor id 0x00001062: available ucode 0x010000c7
[uCode/AMD] processor id 0x00001043: available ucode 0x010000c8
[uCode/AMD] processor id 0x00001081: available ucode 0x010000d9
[uCode/AMD] processor id 0x00001080: available ucode 0x010000da
[uCode/AMD] processor id 0x00001041: available ucode 0x010000db
[uCode/AMD] processor id 0x000010a0: available ucode 0x010000dc
[uCode/AMD] processor id 0x00002031: available ucode 0x02000032
[uCode/AMD] processor id 0x00003010: available ucode 0x03000027
[uCode/AMD] processor id 0x00005010: available ucode 0x05000029
[uCode/AMD] processor id 0x00005020: available ucode 0x05000119
[uCode/AMD] cpuid 0x00600f20: found processor id 0x00006020
[uCode/AMD] cpuid 0x00610f01: found processor id 0x00006101
[uCode/AMD] cpuid 0x00600f12: found processor id 0x00006012
[uCode/AMD] processor id 0x00006012: available ucode 0x0600063e
[uCode/AMD] processor id 0x00006020: available ucode 0x06000852
[uCode/AMD] processor id 0x00006101: available ucode 0x06001119
[uCode/AMD] cpuid 0x00700f01: found processor id 0x00007001
[uCode/AMD] processor id 0x00007001: available ucode 0x0700010f
[uCode/AMD] cpuid 0x00800f82: found processor id 0x00008082
[uCode/AMD] cpuid 0x00800f12: found processor id 0x00008012
[uCode/AMD] cpuid 0x00830f10: found processor id 0x00008310
[uCode/AMD] processor id 0x00008082: available ucode 0x0800820d
[uCode/AMD] processor id 0x00008012: available ucode 0x0800126e
[uCode/AMD] processor id 0x00008310: available ucode 0x08301055
[uCode/AMD] cpuid 0x00a00f10: found processor id 0x0000a010
[uCode/AMD] cpuid 0x00a00f11: found processor id 0x0000a011
[uCode/AMD] cpuid 0x00a00f12: found processor id 0x0000a012
[uCode/AMD] processor id 0x0000a010: available ucode 0x0a001058
[uCode/AMD] processor id 0x0000a011: available ucode 0x0a001173
[uCode/AMD] processor id 0x0000a012: available ucode 0x0a001229
Use of uninitialized value $processor in concatenation (.) or string
at /usr/share/perl5/NeedRestart/uCode.pm line 61.
[ucode] # did not get available microcode version
[uCode/Intel] #0 current revision: 0x8701021
+ iucode_tool --scan-system
+ grep -oE [^[:space:]]+$
+ sig=processor
+ [ -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ]
+ cat /sys/devices/system/cpu/cpu0/microcode/processor_flags
+ filter=-s processor,0x0
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ IUCODE_TOOL_EXTRA_OPTIONS=
+ test -r /etc/default/intel-microcode
+ . /etc/default/intel-microcode
+ test = no
+ [ -r /usr/share/misc/intel-microcode* ]
+ iucode_tool -l -s processor,0x0 --ignore-broken -tb
/lib/firmware/intel-ucode
+ grep processor
Use of uninitialized value $processor in concatenation (.) or string
at /usr/share/perl5/NeedRestart/uCode.pm line 61.
[ucode] # did not get available microcode version

Failed to check for processor microcode upgrades.

The -v output is slightly different after modprobing cpuid:

[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::AMD
[ucode] using NeedRestart::uCode::Intel
[uCode/AMD] #0 cpuid 0x00870f10 (/dev/cpu/0/cpuid)
[uCode/AMD] #0 cpuid 0x00870f10 (/proc/cpuinfo)
[uCode/AMD] #0 running ucode 0x08701021
[uCode/AMD] cpuid 0x00100f80: found processor id 0x00001080
[uCode/AMD] cpuid 0x00100f81: found processor id 0x00001081
[uCode/AMD] cpuid 0x00100f62: found processor id 0x00001062
[uCode/AMD] cpuid 0x00100f23: found processor id 0x00001022
[uCode/AMD] cpuid 0x00100f43: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f91: found processor id 0x00001081
[uCode/AMD] cpuid 0x00100f2a: found processor id 0x00001020
[uCode/AMD] cpuid 0x00100f63: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f42: found processor id 0x00001041
[uCode/AMD] cpuid 0x00300f10: found processor id 0x00003010
[uCode/AMD] cpuid 0x00200f31: found processor id 0x00002031
[uCode/AMD] cpuid 0x00100f52: found processor id 0x00001041
[uCode/AMD] cpuid 0x00100fa0: found processor id 0x000010a0
[uCode/AMD] cpuid 0x00100f53: found processor id 0x00001043
[uCode/AMD] cpuid 0x00100f22: found processor id 0x00001022
[uCode/AMD] cpuid 0x00500f10: found processor id 0x00005010
[uCode/AMD] cpuid 0x00500f20: found processor id 0x00005020
[uCode/AMD] processor id 0x00001022: available ucode 0x01000083
[uCode/AMD] processor id 0x00001020: available ucode 0x01000084
[uCode/AMD] processor id 0x00001062: available ucode 0x010000c7
[uCode/AMD] processor id 0x00001043: available ucode 0x010000c8
[uCode/AMD] processor id 0x00001081: available ucode 0x010000d9
[uCode/AMD] processor id 0x00001080: available ucode 0x010000da
[uCode/AMD] processor id 0x00001041: available ucode 0x010000db
[uCode/AMD] processor id 0x000010a0: available ucode 0x010000dc
[uCode/AMD] processor id 0x00002031: available ucode 0x02000032
[uCode/AMD] processor id 0x00003010: available ucode 0x03000027
[uCode/AMD] processor id 0x00005010: available ucode 0x05000029
[uCode/AMD] processor id 0x00005020: available ucode 0x05000119
[uCode/AMD] cpuid 0x00600f20: found processor id 0x00006020
[uCode/AMD] cpuid 0x00610f01: found processor id 0x00006101
[uCode/AMD] cpuid 0x00600f12: found processor id 0x00006012
[uCode/AMD] processor id 0x00006012: available ucode 0x0600063e
[uCode/AMD] processor id 0x00006020: available ucode 0x06000852
[uCode/AMD] processor id 0x00006101: available ucode 0x06001119
[uCode/AMD] cpuid 0x00700f01: found processor id 0x00007001
[uCode/AMD] processor id 0x00007001: available ucode 0x0700010f
[uCode/AMD] cpuid 0x00800f82: found processor id 0x00008082
[uCode/AMD] cpuid 0x00800f12: found processor id 0x00008012
[uCode/AMD] cpuid 0x00830f10: found processor id 0x00008310
[uCode/AMD] processor id 0x00008082: available ucode 0x0800820d
[uCode/AMD] processor id 0x00008012: available ucode 0x0800126e
[uCode/AMD] processor id 0x00008310: available ucode 0x08301055
[uCode/AMD] cpuid 0x00a00f10: found processor id 0x0000a010
[uCode/AMD] cpuid 0x00a00f11: found processor id 0x0000a011
[uCode/AMD] cpuid 0x00a00f12: found processor id 0x0000a012
[uCode/AMD] processor id 0x0000a010: available ucode 0x0a001058
[uCode/AMD] processor id 0x0000a011: available ucode 0x0a001173
[uCode/AMD] processor id 0x0000a012: available ucode 0x0a001229
Use of uninitialized value $processor in concatenation (.) or string
at /usr/share/perl5/NeedRestart/uCode.pm line 61.
[ucode] # did not get available microcode version
[uCode/Intel] #0 current revision: 0x8701021
+ iucode_tool --scan-system
+ grep -oE [^[:space:]]+$
+ sig=processor
+ [ -r /sys/devices/system/cpu/cpu0/microcode/processor_flags ]
+ cat /sys/devices/system/cpu/cpu0/microcode/processor_flags
+ filter=-s processor,0x0
+ test -r /etc/needrestart/iucode.sh
+ . /etc/needrestart/iucode.sh
+ type bsdtar
+ IUCODE_TOOL_EXTRA_OPTIONS=
+ test -r /etc/default/intel-microcode
+ . /etc/default/intel-microcode
+ test = no
+ [ -r /usr/share/misc/intel-microcode* ]
+ iucode_tool -l -s processor,0x0 --ignore-broken -tb
/lib/firmware/intel-ucode
+ grep processor
Use of uninitialized value $processor in concatenation (.) or string
at /usr/share/perl5/NeedRestart/uCode.pm line 61.
[ucode] # did not get available microcode version

Failed to check for processor microcode upgrades.

-- Package-specific info:
needrestart output:
Your outdated processes:
pidgin[2780]

checkrestart output:


-- System Information:
Debian Release: bookworm/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500,
'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.18.0-2-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE,
TAINT_UNSIGNED_MODULE
Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: SELinux: enabled - Mode: Permissive - Policy name: default

Versions of packages needrestart depends on:
ii binutils 2.38.50.20220615-4
ii dpkg 1.21.8
ii gettext-base 0.21-6
ii libintl-perl 1.26-4
ii libmodule-find-perl 0.15-1
ii libmodule-scandeps-perl 1.31-1
ii libproc-processtable-perl 0.634-1+b1
ii libsort-naturally-perl 1.03-3
ii libterm-readkey-perl 2.38-1+b3
ii perl 5.34.0-4
ii xz-utils 5.2.5-2.1

Versions of packages needrestart recommends:
ii libpam-systemd 251.2-5
ii systemd 251.2-5

Versions of packages needrestart suggests:
ii iucode-tool 2.3.1-1
ii libnotify-bin 0.7.12-1
ii needrestart-session 0.3-9

-- debconf-show failed

Antoine Beaupré

unread,
Nov 15, 2023, 3:00:04 PM11/15/23
to
On 2022-06-20 13:54:38, Nick Lewycky wrote:
> Package: needrestart
> Version: 3.6-1
> Severity: normal
>
> `sudo needrestart -w` always prints "Failed to check for processor
> microcode upgrades." on my AMD Ryzen 9 3900X 12-Core Processor.

[...]

There's now a PR for this upstream:

https://github.com/liske/needrestart/pull/285

People suffering from this issue are encouraged to test this and report
back upstream (or here, if you can't upstream).

I've also bumped the severity of this bug. For us it leads to alert
fatigue and creates security and reliability issues.

a.
--
Je viens d'un pays où engagé veut dire que tu t'es trouvé une job.
- Patrice Desbiens

Antoine Beaupré

unread,
Nov 15, 2023, 4:00:05 PM11/15/23
to
Control: tags -1 +patch

On 2023-11-15 14:54:26, Antoine Beaupré wrote:
> On 2022-06-20 13:54:38, Nick Lewycky wrote:
>> Package: needrestart
>> Version: 3.6-1
>> Severity: normal
>>
>> `sudo needrestart -w` always prints "Failed to check for processor
>> microcode upgrades." on my AMD Ryzen 9 3900X 12-Core Processor.
>
> [...]
>
> There's now a PR for this upstream:
>
> https://github.com/liske/needrestart/pull/285
>
> People suffering from this issue are encouraged to test this and report
> back upstream (or here, if you can't upstream).

I tested it and it doesn't work. It only *seemed* to work because the
author tested with -v, which *does* work around the issue.

I found the issue, and sent this PR upstream to fix it:

https://github.com/liske/needrestart/pull/288

Patch attached, people are again encouraged to test and report back.

I also attach upstream commit v3.6-9-ge85bfe3 which also seem necessary
to fix firmware checks on my end...

a.

--
Advertisers, not governments, are the primary censors of media content
in the United States today.
- C. Edwin Baker
05-fix-AMD-ucode-checking-in-non-debug-mode.patch
06-uCode-fix-uninitialized-value-in-logging-of-processo.patch

Antoine Beaupré

unread,
Nov 21, 2023, 11:30:05 AM11/21/23
to
Control: reopen -1
Control: subscribe -1

On 2023-11-15 15:46:24, Antoine Beaupré wrote:
> Control: tags -1 +patch
>
> On 2023-11-15 14:54:26, Antoine Beaupré wrote:
>> On 2022-06-20 13:54:38, Nick Lewycky wrote:
>>> Package: needrestart
>>> Version: 3.6-1
>>> Severity: normal
>>>
>>> `sudo needrestart -w` always prints "Failed to check for processor
>>> microcode upgrades." on my AMD Ryzen 9 3900X 12-Core Processor.
>>
>> [...]
>>
>> There's now a PR for this upstream:
>>
>> https://github.com/liske/needrestart/pull/285
>>
>> People suffering from this issue are encouraged to test this and report
>> back upstream (or here, if you can't upstream).
>
> I tested it and it doesn't work. It only *seemed* to work because the
> author tested with -v, which *does* work around the issue.
>
> I found the issue, and sent this PR upstream to fix it:
>
> https://github.com/liske/needrestart/pull/288
>
> Patch attached, people are again encouraged to test and report back.
>
> I also attach upstream commit v3.6-9-ge85bfe3 which also seem necessary
> to fix firmware checks on my end...

It doesn't *quite* fix it just yet. For platforms where the ucode is
*not* provided (e.g. in my case it's the pcengines APU that don't have
firmware upgrades), this *still* yields a UNKNOWN warning. After a brief
discussion in the issue tracker, I decided to submit *another* PR as
such:

https://github.com/liske/needrestart/pull/290

... and I think we should ship this in Debian as well.

I also think we should make a stable update for this. This affects a
bunch of machines on our end and we need this fixed in bookworm.

So I'll file a bug with the release team and prepare a stable
update.

Patrick: objections?

A.

--
All governments are run by liars and nothing they say should be
believed.
- I. F. Stone
0 new messages