{"id":28539,"date":"2026-09-25T00:31:37","date_gmt":"2026-09-24T16:31:37","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93275"},"modified":"2026-09-25T00:31:37","modified_gmt":"2026-09-24T16:31:37","slug":"cve-2026-93275","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93275","title":{"rendered":"CVE-2026-93275 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nperf\/x86\/intel\/pt: Fi"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/x86\/intel\/pt: Fix stop\/start with no update<\/p>\n<p>If pt_event_stop() is called without PERF_EF_UPDATE flag, then<br \/>\nperf_aux_output_end() is not called.  A subsequent call to pt_event_start()<br \/>\nwill call perf_aux_output_begin() again which violates the rule against<br \/>\nnesting and triggers a WARNING in perf_aux_output_begin().<\/p>\n<p>Originally, pt_event_stop() was never called without PERF_EF_UPDATE,<br \/>\nbecause the only code paths to do so are from event overflow, and Intel PT<br \/>\ndoes not do that.<\/p>\n<p>However the introduction of group throttling by commit 9734e25fbf5ae<br \/>\n(&#8220;perf: Fix the throttle logic for a group&#8221;) meant that an Intel PT event<br \/>\ncould be throttled if it was part of a group.  Throttling calls PMU<br \/>\n -&gt;stop() \/ -&gt;start() callbacks without flags.<\/p>\n<p>An example is when AUX area sampling is used. The following commands<br \/>\nhit the issue:<\/p>\n<p>  echo 10000 &gt; \/proc\/sys\/kernel\/perf_event_max_sample_rate<\/p>\n<p>  perf record -F32000 &#8211;aux-sample -e &#8216;{intel_pt\/\/u,cycles:u}&#8217;<br \/>\n  &#8212; bash -c &#8216;for i in `seq 1 100000` ; do true ; done&#8217;<\/p>\n<p>Use PERF_HES_UPTODATE to track whether perf_aux_output_begin() and<br \/>\nperf_aux_output_end() are balanced.  A cleared PERF_HES_UPTODATE bit<br \/>\nindicates that an AUX output context is still open.<\/p>\n<p>Amend pt_event_start() \/ pt_event_stop() accordingly so that begin\/end<br \/>\nstay balanced:<\/p>\n<p> &#8211; In non-snapshot mode, stop() always closes the buffer (the buffer may<br \/>\n   have run out of space, and that accounting is done by the update), so<br \/>\n   a following start() opens a fresh one as before.<\/p>\n<p> &#8211; In snapshot\/overwrite mode, stop() without PERF_EF_UPDATE leaves the<br \/>\n   buffer open so that pt_event_snapshot_aux() can still copy from it,<br \/>\n   and start() then only re-enables tracing instead of calling<br \/>\n   perf_aux_output_begin() again.<\/p>\n<p>Note that pt_event_del() calls pt_event_stop() with PERF_EF_UPDATE flag set<br \/>\n(as is required by the documentation), so a final call to<br \/>\nperf_aux_output_end() is assured.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/x86\/intel\/pt: Fix stop\/start with no update<\/p>\n<p>If pt_event_stop() is called without PERF_EF_UPDATE flag, then<br \/>\nperf_aux_output_en<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-28539","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/28539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}