{"id":41024,"date":"2026-10-19T00:31:51","date_gmt":"2026-10-18T16:31:51","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98552"},"modified":"2026-10-19T00:31:51","modified_gmt":"2026-10-18T16:31:51","slug":"cve-2026-98552","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98552","title":{"rendered":"CVE-2026-98552 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nperf\/core: Fix a refc"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/core: Fix a refcount leak in attach_perf_ctx_data()<\/p>\n<p>The attach_perf_ctx_data() can race on global and !global cases.  The<br \/>\nglobal case is protected by global_ctx_data_rwsem and shares a single<br \/>\nreference count using perf_ctx_data.global field.<\/p>\n<p>But when it races with !global case, it may miss to set the global field<br \/>\nand result in a reference count leak.<\/p>\n<p> CPU1                                  CPU2<br \/>\n &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n attach_task_ctx_data(.global=1)       attach_task_ctx_data(.global=0)<br \/>\n   cd1 = alloc_perf_ctx_data();          cd2 = alloc_perf_ctx_data();<br \/>\n                                         \/\/    { .global = 0, .refcount = 1 };<\/p>\n<p>                                         try_cmpxchg(); \/\/ success,<br \/>\n                                         \/\/ task-&gt;perf_ctx_data = cd2<br \/>\n   try_cmpxhg(); \/\/ fail; old = cd2<br \/>\n   refcount_inc_not_zero(&amp;old-&gt;refcount); \/\/ success<br \/>\n     \/\/ old.refcount = 2<br \/>\n   free_perf_ctx_data(cd1);<\/p>\n<p>Then later detach_global_ctx_data() will see the data but it&#8217;s not<br \/>\nmarked as global, so it won&#8217;t call detach_task_ctx_data().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>perf\/core: Fix a refcount leak in attach_perf_ctx_data()<\/p>\n<p>The attach_perf_ctx_data() can race on global and !global cases.  The<br \/>\nglo<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41024","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41024","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=41024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}