<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 21:41:51 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-46223 — cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-46223</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated&lt;/p&gt;
&lt;p&gt;A chain of commits going back to v7.0 reworked rmdir to satisfy the
controller invariant that a subsystem&amp;#39;s -&amp;gt;css_offline() must not run while
tasks are still doing kernel-side work in the cgroup.&lt;/p&gt;
&lt;p&gt;[1] d245698d727a (&amp;#34;cgroup: Defer task cgroup unlink until after the task is done switching out&amp;#34;)
[2] a72f73c4dd9b (&amp;#34;cgroup: Don&amp;#39;t expose dead tasks in cgroup&amp;#34;)
[3] 1b164b876c36 (&amp;#34;cgroup: Wait for dying tasks to leave on rmdir&amp;#34;)
[4] 4c56a8ac6869 (&amp;#34;cgroup: Fix cgroup_drain_dying() testing the wrong condition&amp;#34;)
[5] 13e786b64bd3 (&amp;#34;cgroup: Increment nr_dying_subsys_* from rmdir context&amp;#34;)&lt;/p&gt;
&lt;p&gt;[1] moved task cset unlink from do_exit() to finish_task_switch() so a
task&amp;#39;s cset link drops only after the task has fully stopped scheduling.
That made tasks past exit_signals() linger on cset-&amp;gt;tasks until their final
context switch, which led to a series of problems as what userspace expected
to see after rmdir diverged from what the kernel needs to wait for. [2]-[5]
tried to bridge that divergence: [2] filtered the exiting tasks from
cgroup.procs; [3] had rmdir(2) sleep in TASK_UNINTERRUPTIBLE for them; [4]
fixed the wait&amp;#39;s condition; [5] made nr_dying_subsys_* visible
synchronously.&lt;/p&gt;
&lt;p&gt;The cgroup_drain_dying() wait in [3] turned out to be a dead end. When the
rmdir caller is also the reaper of a zombie that pins a pidns teardown (e.g.
host PID 1 systemd reapin…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated&lt;/p&gt;
&lt;p&gt;A chain of commits going back to v7.0 reworked rmdir to satisfy the
controller invariant that a subsystem&amp;#39;s -&amp;gt;css_offline() must not run while
tasks are still doing kernel-side work in the cgroup.&lt;/p&gt;
&lt;p&gt;[1] d245698d727a (&amp;#34;cgroup: Defer task cgroup unlink until after the task is done switching out&amp;#34;)
[2] a72f73c4dd9b (&amp;#34;cgroup: Don&amp;#39;t expose dead tasks in cgroup&amp;#34;)
[3] 1b164b876c36 (&amp;#34;cgroup: Wait for dying tasks to leave on rmdir&amp;#34;)
[4] 4c56a8ac6869 (&amp;#34;cgroup: Fix cgroup_drain_dying() testing the wrong condition&amp;#34;)
[5] 13e786b64bd3 (&amp;#34;cgroup: Increment nr_dying_subsys_* from rmdir context&amp;#34;)&lt;/p&gt;
&lt;p&gt;[1] moved task cset unlink from do_exit() to finish_task_switch() so a
task&amp;#39;s cset link drops only after the task has fully stopped scheduling.
That made tasks past exit_signals() linger on cset-&amp;gt;tasks until their final
context switch, which led to a series of problems as what userspace expected
to see after rmdir diverged from what the kernel needs to wait for. [2]-[5]
tried to bridge that divergence: [2] filtered the exiting tasks from
cgroup.procs; [3] had rmdir(2) sleep in TASK_UNINTERRUPTIBLE for them; [4]
fixed the wait&amp;#39;s condition; [5] made nr_dying_subsys_* visible
synchronously.&lt;/p&gt;
&lt;p&gt;The cgroup_drain_dying() wait in [3] turned out to be a dead end. When the
rmdir caller is also the reaper of a zombie that pins a pidns teardown (e.g.
host PID 1 systemd reapin…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-46223</guid>
    </item>
  </channel>
</rss>
