<?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>Mon, 05 Oct 2026 09:35:01 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-58088 — bpf: Fix deadlock when freeing cgroup storage</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-58088</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;bpf: Fix deadlock when freeing cgroup storage&lt;/p&gt;
&lt;p&gt;The following commit
bc235cdb423a (&amp;#34;bpf: Prevent deadlock from recursive bpf_task_storage_[get|delete]&amp;#34;)
first introduced deadlock prevention for fentry/fexit programs attaching
on bpf_task_storage helpers. That commit also employed the logic in map
free path in its v6 version.&lt;/p&gt;
&lt;p&gt;Later bpf_cgrp_storage was first introduced in
c4bcfb38a95e (&amp;#34;bpf: Implement cgroup storage available to non-cgroup-attached bpf progs&amp;#34;)
which faces the same issue as bpf_task_storage, instead of its busy
counter, NULL was passed to bpf_local_storage_map_free() which opened
a window to cause deadlock:&lt;/p&gt;
&lt;p&gt;&amp;lt;TASK&amp;gt;
		(acquiring local_storage-&amp;gt;lock)
	_raw_spin_lock_irqsave+0x3d/0x50
	bpf_local_storage_update+0xd1/0x460
	bpf_cgrp_storage_get+0x109/0x130
	bpf_prog_a4d4a370ba857314_cgrp_ptr+0x139/0x170
	? __bpf_prog_enter_recur+0x16/0x80
	bpf_trampoline_6442485186+0x43/0xa4
	cgroup_storage_ptr+0x9/0x20
		(holding local_storage-&amp;gt;lock)
	bpf_selem_unlink_storage_nolock.constprop.0+0x135/0x160
	bpf_selem_unlink_storage+0x6f/0x110
	bpf_local_storage_map_free+0xa2/0x110
	bpf_map_free_deferred+0x5b/0x90
	process_one_work+0x17c/0x390
	worker_thread+0x251/0x360
	kthread+0xd2/0x100
	ret_from_fork+0x34/0x50
	ret_from_fork_asm+0x1a/0x30
	&amp;lt;/TASK&amp;gt;&lt;/p&gt;
&lt;p&gt;Progs:
 - A: SEC(&amp;#34;fentry/cgroup_storage_ptr&amp;#34;)
   - cgid (BPF_MAP_TYPE_HASH)
	Record the id of the cgroup the current task belonging
	to in this hash map, using the…&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;bpf: Fix deadlock when freeing cgroup storage&lt;/p&gt;
&lt;p&gt;The following commit
bc235cdb423a (&amp;#34;bpf: Prevent deadlock from recursive bpf_task_storage_[get|delete]&amp;#34;)
first introduced deadlock prevention for fentry/fexit programs attaching
on bpf_task_storage helpers. That commit also employed the logic in map
free path in its v6 version.&lt;/p&gt;
&lt;p&gt;Later bpf_cgrp_storage was first introduced in
c4bcfb38a95e (&amp;#34;bpf: Implement cgroup storage available to non-cgroup-attached bpf progs&amp;#34;)
which faces the same issue as bpf_task_storage, instead of its busy
counter, NULL was passed to bpf_local_storage_map_free() which opened
a window to cause deadlock:&lt;/p&gt;
&lt;p&gt;&amp;lt;TASK&amp;gt;
		(acquiring local_storage-&amp;gt;lock)
	_raw_spin_lock_irqsave+0x3d/0x50
	bpf_local_storage_update+0xd1/0x460
	bpf_cgrp_storage_get+0x109/0x130
	bpf_prog_a4d4a370ba857314_cgrp_ptr+0x139/0x170
	? __bpf_prog_enter_recur+0x16/0x80
	bpf_trampoline_6442485186+0x43/0xa4
	cgroup_storage_ptr+0x9/0x20
		(holding local_storage-&amp;gt;lock)
	bpf_selem_unlink_storage_nolock.constprop.0+0x135/0x160
	bpf_selem_unlink_storage+0x6f/0x110
	bpf_local_storage_map_free+0xa2/0x110
	bpf_map_free_deferred+0x5b/0x90
	process_one_work+0x17c/0x390
	worker_thread+0x251/0x360
	kthread+0xd2/0x100
	ret_from_fork+0x34/0x50
	ret_from_fork_asm+0x1a/0x30
	&amp;lt;/TASK&amp;gt;&lt;/p&gt;
&lt;p&gt;Progs:
 - A: SEC(&amp;#34;fentry/cgroup_storage_ptr&amp;#34;)
   - cgid (BPF_MAP_TYPE_HASH)
	Record the id of the cgroup the current task belonging
	to in this hash map, using the…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-58088</guid>
    </item>
  </channel>
</rss>
