Ad

CVE-2026-72325

NONE EPSS 0.21%
Обновлено 17 августа 2026
AMD
Параметр Значение
Поставщик AMD
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: perf/x86/amd/core: избегайте включения BRS из пути перезагрузки SVM. Выборка ветвей (BRS) и запись последней ветки (LBR) взаимно эксклюзивные аппаратные функции, и пользователи обоих отслеживаются через cpuc->lbr_users. Когда SVM переключается на ЦП, события производительности хоста перепрограммируются на обновите бит фильтра HostOnly (устанавливается при включенной виртуализации, очищается, когда он отключен).

На процессорах с поддержкой PerfMonV2 это перепрограммирование выполняется путем вызова amd_pmu_enable_all() для перезаписи селекторы событий. Однако amd_pmu_enable_all() также вызывает amd_brs_enable_all(), который включает BRS всякий раз, когда cpuc->lbr_users > 0. Наличие активных событий LBR удовлетворяет этому принципу на процессорах, у которых есть LBR, но не BRS.

Затем ядро пытается установить бит включения BRS в Дебугекстнкфг (MSR 0xc000010f). Поскольку этот бит устарел для таких аппаратно, запись приводит к #GP: Отслеживание вызова: <IRQ> amd_pmu_enable_all+0x1d/0x90 amd_pmu_disable_virt+0x62/0xb0 kvm_arch_disable_virtualization_cpu+0xa/0x40 [kvm] hardware_disable_nolock+0x1a/0x30 [квм] __flush_smp_call_function_queue+0x9b/0x410 __sysvec_call_function+0x18/0xc0 sysvec_call_function+0x69/0x90 </IRQ> <ЗАДАЧА> asm_sysvec_call_function+0x16/0x20 RIP: 0010:cpuidle_enter_state+0xc4/0x450 ? cpuidle_enter_state+0xb7/0x450 cpuidle_enter+0x29/0x40 cpuidle_idle_call+0xf5/0x160 do_idle+0x7b/0xe0 cpu_startup_entry+0x26/0x30 start_вторичный+0x115/0x140 Secondary_startup_64_no_verify+0x194/0x19b </TASK> Исправьте это, убедившись, что BRS не включен в селекторе событий. путь перепрограммирования, даже если cpuc->lbr_users > 0.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: perf/x86/amd/core: Avoid enabling BRS from the SVM reload path Branch Sampling (BRS) and Last Branch Record (LBR) are mutually exclusive hardware features, and users of both are tracked via cpuc->lbr_users. When SVM is toggled on a CPU, the host perf events are reprogrammed to update the HostOnly filter bit (set when virtualization is enabled, cleared when it is disabled). On PerfMonV2-capable processors, this reprogramming is performed by calling amd_pmu_enable_all() to rewrite the event selectors. However, amd_pmu_enable_all() also calls amd_brs_enable_all(), which enables BRS whenever cpuc->lbr_users > 0. Having active LBR events satisfies this gating on processors that have LBR but not BRS. The kernel then tries to set the BRS enable bit in DebugExtnCfg (MSR 0xc000010f). Since that bit is deprecated on such hardware, the write results in a #GP: Call Trace: <IRQ> amd_pmu_enable_all+0x1d/0x90 amd_pmu_disable_virt+0x62/0xb0 kvm_arch_disable_virtualization_cpu+0xa/0x40 [kvm] hardware_disable_nolock+0x1a/0x30 [kvm] __flush_smp_call_function_queue+0x9b/0x410 __sysvec_call_function+0x18/0xc0 sysvec_call_function+0x69/0x90 </IRQ> <TASK> asm_sysvec_call_function+0x16/0x20 RIP: 0010:cpuidle_enter_state+0xc4/0x450 ? cpuidle_enter_state+0xb7/0x450 cpuidle_enter+0x29/0x40 cpuidle_idle_call+0xf5/0x160 do_idle+0x7b/0xe0 cpu_startup_entry+0x26/0x30 start_secondary+0x115/0x140 secondary_startup_64_no_verify+0x194/0x19b </TASK> Fix this by ensuring that BRS is not enabled from the event selector reprogramming path even when cpuc->lbr_users > 0.