Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.

Linux Kernel: Intel Uncore Initialization Bug

published 6 months ago
Summary

A bug in the Linux kernel's Intel Uncore initialization code could cause it to incorrectly identify or skip certain hardware components. This could lead to issues with performance monitoring and data collection. To fix the issue, the kernel has been updated to use a different method to identify the hardware components, which should resolve the problem.

What to do
  • Update linux kernel to version 6.19.14.
Affected software
Ecosystem VendorProductAffected versions
Linux linux kernel >= 5.12.0, < 6.19.14
Fix: upgrade to 6.19.14
Original advisory text
perf/x86/intel/uncore: Fix die ID init and look up bugs
In the Linux kernel, the following vulnerability has been resolved:

perf/x86/intel/uncore: Fix die ID init and look up bugs

In snbep_pci2phy_map_init(), in the nr_node_ids > 8 path,
uncore_device_to_die() may return -1 when all CPUs associated
with the UBOX device are offline.

Remove the WARN_ON_ONCE(die_id == -1) check for two reasons:

- The current code breaks out of the loop. This is incorrect because
pci_get_device() does not guarantee iteration in domain or bus order,
so additional UBOX devices may be skipped during the scan.

- Returning -EINVAL is incorrect, since marking offline buses with
die_id == -1 is expected and should not be treated as an error.

Separately, when NUMA is disabled on a NUMA-capable platform,
pcibus_to_node() returns NUMA_NO_NODE, causing uncore_device_to_die()
to return -1 for all PCI devices. As a result,
spr_update_device_location(), used on Intel SPR and EMR, ignores the
corresponding PMON units and does not add them to the RB tree.

Fix this by using uncore_pcibus_to_dieid(), which retrieves topology
from the UBOX GIDNIDMAP register and works regardless of whether NUMA
is enabled in Linux. This requires snbep_pci2phy_map_init() to be
added in spr_uncore_pci_init().

Keep uncore_device_to_die() only for the nr_node_ids > 8 case, where
NUMA is expected to be enabled.
Timeline
Published8 May 2026
Updated16 Jul 2026
First seen16 Jul 2026
Track software like this
Free during beta