Katalog CVE

CVE-2026-93181

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w perf/x86/intel/uncore kolejność wywołań uncore_box_ref()/uncore_box_unref() względem uncore_change_context() jest nieprawidłowa. W uncore_event_cpu_online() uncore_box_ref() jest wywoływane, gdy box->cpu wynosi jeszcze -1, więc box nie jest inicjalizowany przy pierwszym CPU w die, a w ścieżce offline box jest niszczony przy przedostatnim CPU.

Ocena ryzyka

Nieprawidłowe zarządzanie licznikiem referencji prowadzi do niezainicjalizowanego lub przedwcześnie zniszczonego boxa uncore, co może powodować błędy liczenia zdarzeń perf lub niestabilność. Wymaga sprzętu Intel z uncore.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę zamieniającą kolejność wywołań w obu ścieżkach oraz przenoszącą allocate_boxes() poza uncore_box_ref(). Monitoruj działanie liczników perf po aktualizacji.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel/uncore: Fix uncore_box ref/unref ordering In uncore_event_cpu_online(), uncore_box_ref() was called before uncore_change_context(). uncore_box_ref() gates on box->cpu >= 0, but box->cpu is still -1 at that point because uncore_change_context() has not run yet. As a result, the box is never initialized on the first CPU to come online in a die, leaving it permanently uninitialized in the single-CPU-per-die case. Thus, box->refcnt is one count below the true value, and in the CPU offline path, the box will be torn down on the second-to-last CPU. In uncore_event_cpu_offline(), uncore_box_unref() was called after uncore_change_context(), so box->cpu is already -1 when the collector CPU goes offline, which prevents it from tearing down the box. Fix by swapping the call order in both paths so that uncore_box_{ref,unref}() runs at the point where box->cpu reflects the correct context. Move allocate_boxes() out of uncore_box_ref() to enable this reordering.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS