CVE Catalog

CVE-2026-97961

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel perf/core, list corruption of sched_cb_list is possible during event overflow processing when PMU calls perf_sched_cb_dec() during iteration. The fix changes for_each_list_entry() to for_each_list_entry_safe().

Risk Assessment

The risk includes memory corruption and potential system crashes during perf operations with PERF_EVENT_IOC_REFRESH.

Recommendation

Apply the Linux kernel update containing this fix to prevent list corruption.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: perf/core: Allow list_del during perf_event_overflow() A PMU might use perf_sched_cb_inc() and perf_sched_cb_dec() interface to get the PMU call back function pmu::sched_task invoked at schedule in and schedule out. This is achieved by walking along the list anchored by sched_cb_list. The following scenario might lead to a list corruption. perf_pmu_sched_task() for_each_list_entry(..., &sched_cb_list) +--> __perf_pmu_sched_task() +--> event->pmu->sched_task()) +--> PMU_push_sample() +--> perf_event_overflow() +--> __perf_event_overflow() +--> pmu->stop() +--> perf_sched_cb_dec() remove entry from sched_cb_list while list node in use. This happens when ioctl(fd, PERF_EVENT_IOC_REFRESH, xxx) has been invoked and perf_event::event_limit hits zero. Prevent the list corruption and convert for_each_list_entry() to for_each_list_entry_safe().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS