UBUNTU-CVE-2026-93275: Medium severity ubuntu/linux-aws vulnerability
In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel/pt: Fix stop/start with no update If pteventstop() is called without PERFEFUPDATE flag, then perfauxoutputend() is not called. A subsequent call to pteventstart() will call perfauxoutputbegin() again which violates the rule against nesting and triggers a WARNING in perfauxoutputbegin(). Originally, pteventstop() was never called without PERFEFUPDATE, because the only code paths to do so are from event overflow, and Intel PT does not do that. However the introduction of group throttling by commit 9734e25fbf5ae ("perf: Fix the throttle logic for a group") meant that an Intel PT event could be throttled if it was part of a group. Throttling calls PMU ->stop() / ->start() callbacks without flags. An example is when AUX area sampling is used. The following commands hit the issue: echo 10000 > /proc/sys/kernel/perfeventmaxsamplerate perf record -F32000 --aux-sample -e '{intelpt//u,cycles:u}' \ -- bash -c 'for i in seq 1 100000 ; do true ; done' Use PERFHESUPTODATE to track whether perfauxoutputbegin() and perfauxoutputend() are balanced. A cleared PERFHESUPTODATE bit indicates that an AUX output context is still open. Amend pteventstart() / pteventstop() accordingly so that begin/end stay balanced: - In non-snapshot mode, stop() always closes the buffer (the buffer may have run out of space, and that accounting is done by the update), so a following start() opens a fresh one as before. - In snapshot/overwrite mode, stop() without PERFEFUPDATE leaves the buffer open so that pteventsnapshotaux() can still copy from it, and start() then only re-enables tracing instead of calling perfauxoutputbegin() again. Note that pteventdel() calls pteventstop() with PERFEFUPDATE flag set (as is required by the documentation), so a final call to perfauxoutputend() is assured.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
Amend Intel PT pt_event_start()/pt_event_stop() to keep perf_aux_output_begin() and perf_aux_output_end() balanced: use PERF_HES_UPTODATE to track whether the AUX output context is open; in snapshot/overwrite mode, leave the buffer open when stop() is called without PERF_EF_UPDATE so pt_event_snapshot_aux() can copy from it, and have start() re-enable tracing without calling perf_aux_output_begin() again; in non-snapshot mode, always close the buffer in stop() so a subsequent start() opens a fresh buffer.