Автор Тема: При загрузке [Firmware Bug]: TSC_DEADLINE please update microcode to 0x22  (Прочитано 1489 раз)

Оффлайн KumurTash

  • Начинающий
  • *
  • Сообщений: 6
    • Email
При загрузке системы выдает    [0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)

При этом
dmesg | grep microcode
[    0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)
[    0.105386] SRBDS: Vulnerable: No microcode
[    0.105386] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.357808] microcode: sig=0x306c3, pf=0x2, revision=0x1c
[    0.357843] microcode: Microcode Update Driver: v2.2.

BIOS обновлял

В чем может быть причина?
---------------------------------------------
apt-repo
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/x86_64 classic
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/noarch classic
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/x86_64-i586 classic




Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 096
    • Домашняя страница
    • Email
При загрузке системы выдает    [0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)

При этом
dmesg | grep microcode
[    0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)
[    0.105386] SRBDS: Vulnerable: No microcode
[    0.105386] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.357808] microcode: sig=0x306c3, pf=0x2, revision=0x1c
[    0.357843] microcode: Microcode Update Driver: v2.2.

BIOS обновлял

В чем может быть причина?
---------------------------------------------
apt-repo
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/x86_64 classic
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/noarch classic
rpm [alt] http://ftp.altlinux.org/pub/distributions ALTLinux/Sisyphus/x86_64-i586 classic
firmware-intel-ucode установлен?
Андрей Черепанов (cas@)

Оффлайн KumurTash

  • Начинающий
  • *
  • Сообщений: 6
    • Email
firmware-intel-ucode установлен?

apt-get install firmware-intel-ucode
....
Последняя версия firmware-intel-ucode уже установлена.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 641
  • Sunny 273 RUS crew
firmware-intel-ucode установлен?

apt-get install firmware-intel-ucode
....
Последняя версия firmware-intel-ucode уже установлена.
Значит или firmware-intel-ucode самые последние фирмвари не содержит, и надо одновлять пакет в репозитории, или новой фирмвари вовсе ещё нет.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 096
Странно что ядро знает что нужен другой микрокод. Это какой процессор?

Оффлайн KumurTash

  • Начинающий
  • *
  • Сообщений: 6
    • Email
Странно что ядро знает что нужен другой микрокод. Это какой процессор?

Intel(R) Core(TM) i7-4790

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
Странно что ядро знает что нужен другой микрокод. Это какой процессор?

Intel(R) Core(TM) i7-4790

А что покажет команда?
rpm -qa | grep ucode

В установленной системе, интел микрокод:

и в системе
# ls /lib/firmware/intel-ucode/
intel-microcode.bin

и в initrd
# initrd-ls /boot/initrd-$(uname -r).img | head -n 6
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86/microcode
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86/microcode/.enuineIntel.align.0123456789abc
1 -rw-r--r-- 1 0 0   18432 Mar 22 15:00:00 2018 kernel/x86/microcode/GenuineIntel.bin
2 -rwxr-xr-x 1 0 0     835 Jul 08 20:41:04 2021 ./init

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
Но initramfs альтовых лайвов, в частности с которых устанавливалась система,
# cat /image/.disk/info
ALT p9 xfce-sysv/x86_64 build 2021-06-12

не содержат интел микрокода
# initrd-ls /image/boot/full.cz | head -n 6
1 drwxr-xr-x 2 0 0        0 Jun 12 08:42:03 2021 ./scripts
1 drwxr-xr-x 2 0 0        0 Jun 12 08:42:03 2021 ./scripts/pre
1 drwxr-xr-x 2 0 0        0 Jun 12 08:42:03 2021 ./scripts/pre/umount
1 -rwxr-xr-x 1 0 0      227 Jun 12 08:42:02 2021 ./scripts/pre/umount/000-remountrw
1 drwxr-xr-x 2 0 0        0 Jun 12 08:42:03 2021 ./scripts/pre/prepare
1 -rwxr-xr-x 1 0 0      253 Jun 12 08:42:02 2021 ./scripts/pre/prepare/000-propagator
# initrd-ls /image/boot/full.cz | grep 'microcode\|ucode'
2 -rw-r--r-- 1 0 0      539 May 25 02:14:45 2021 /lib/firmware/e100/d102e_ucode.bin
2 -rw-r--r-- 1 0 0      539 May 25 02:14:45 2021 /lib/firmware/e100/d101s_ucode.bin
2 -rw-r--r-- 1 0 0      539 May 25 02:14:45 2021 /lib/firmware/e100/d101m_ucode.bin
2 -rw-r--r-- 1 0 0     2564 May 25 02:14:45 2021 /lib/firmware/slicoss/oasisrcvucode.sys
2 -rw-r--r-- 1 0 0     2564 May 25 02:14:45 2021 /lib/firmware/slicoss/gbrcvucode.sys

что в свою очередь приведёт к сообщению в dmesg загруженного лайва
$ dmesg | grep -i microcode
[    0.079221] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x25 (or later)
[    0.298449] SRBDS: Vulnerable: No microcode
[    0.298511] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    1.357803] microcode: sig=0x306d4, pf=0x40, revision=0x1d
[    1.358009] microcode: Microcode Update Driver: v2.2.

несмотря на то что в образе системы
$ file /image/live
/image/live: Squashfs filesystem, little endian, version 4.0, 246559659263 bytes, 88044 inodes, blocksize: 57 bytes, created: Fri Aug  6 06:29:04 2038

сам микрокод есть
$ rpm -qf /lib/firmware/intel-ucode/intel-microcode.bin
firmware-intel-ucode-8-alt1.20190312.noarch
« Последнее редактирование: 25.10.2021 16:27:43 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
Логично, что чтобы такое сообщение не появлялось в dmesg, необходимо чтобы микрокод был в initrd. Неважно что это, лайв или установленная система. В  full.cz и initrd*.img соответственно.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
В установленной системе должен быть пакет, который при обновлении ядра, затолкает интел микрокод в initrd
$ rpm -qa | grep ucode
firmware-intel-ucode-8-alt1.20190312.noarch
make-initrd-ucode-2.16.0-alt1.x86_64
iucode_tool-2.3.1-alt2.x86_64

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
Но если интел микрокод в initrd,
# initrd-ls /boot/initrd-$(uname -r).img | head -n 6
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86/microcode
1 drwxr-xr-x 2 0 0       0 Mar 22 15:00:00 2018 kernel/x86/microcode/.enuineIntel.align.0123456789abc
1 -rw-r--r-- 1 0 0   18432 Mar 22 15:00:00 2018 kernel/x86/microcode/GenuineIntel.bin
2 -rwxr-xr-x 1 0 0     761 Feb 26 15:11:56 2021 ./init

то dmesg будет другим
# dmesg | grep -i microcode
[    0.000000] microcode: microcode updated early to revision 0x2b, date = 2018-03-22
[    0.152915] SRBDS: Vulnerable: No microcode
[    0.152950] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.533761] microcode: sig=0x306d4, pf=0x40, revision=0x2b
[    0.533878] microcode: Microcode Update Driver: v2.2.

Исполняемый файл initrd-ls входит в пакет
# rpm -qf $(which initrd-ls)
make-initrd-2.16.0-alt2.x86_64

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
The Linux Kernel  » CPU Architectures » x86-specific Documentation
19. The Linux Microcode Loader
https://www.kernel.org/doc/html/latest/x86/microcode.html#19

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
При загрузке системы выдает    [0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)

При этом
dmesg | grep microcode
[    0.038898] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or later)
[    0.105386] SRBDS: Vulnerable: No microcode
[    0.105386] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    0.357808] microcode: sig=0x306c3, pf=0x2, revision=0x1c
[    0.357843] microcode: Microcode Update Driver: v2.2.

Уязвимы все альтовые лайвы:
# grep -A3 'Spectre V1' /var/log/dmesg
[    0.298184] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.298273] Spectre V2 : Mitigation: Full generic retpoline
[    0.298340] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.298427] Speculative Store Bypass: Vulnerable
$ dmesg | grep 'Spectre\|Speculative'
[    0.298184] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.298273] Spectre V2 : Mitigation: Full generic retpoline
[    0.298340] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.298427] Speculative Store Bypass: Vulnerable

Будьте предельно осторожны и внимательны, при использовании альтовых лайвов в других целях кроме инсталляции.
« Последнее редактирование: 26.10.2021 19:24:02 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 641
  • Sunny 273 RUS crew
Уязвимы все альтовые лайвы:
# grep -A3 'Spectre V1' /var/log/dmesg
[    0.298184] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.298273] Spectre V2 : Mitigation: Full generic retpoline
[    0.298340] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.298427] Speculative Store Bypass: Vulnerable
Нет, процессоры, для которых нет и уже не будет исправления микрокода. Микрокод-то в ALT обновляется, только вот Intel забил на старые процессоры.

firmware-intel-ucode-16-alt1.20210608
Смотреть, кстати, лучше так: grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX unsupported
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline, STIBP: disabled, RSB filling
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 953
Тот интел микрокод который в p9, он для моего процессора 15-го года не актуален. После 20190312, микрокод для BDW-U, минимум обновлялся дважды:
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/

Надо попробовать выдернуть из p10 и перегенерировать intrd.
« Последнее редактирование: 26.10.2021 21:21:42 от Speccyfighter »