<?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>Tue, 29 Sep 2026 11:20:06 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-31557 — nvmet: move async event work off nvmet-wq</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-31557</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;nvmet: move async event work off nvmet-wq&lt;/p&gt;
&lt;p&gt;For target nvmet_ctrl_free() flushes ctrl-&amp;gt;async_event_work.
If nvmet_ctrl_free() runs on nvmet-wq, the flush re-enters workqueue
completion for the same worker:-&lt;/p&gt;
&lt;p&gt;A. Async event work queued on nvmet-wq (prior to disconnect):
  nvmet_execute_async_event()
     queue_work(nvmet_wq, &amp;amp;ctrl-&amp;gt;async_event_work)&lt;/p&gt;
&lt;p&gt;nvmet_add_async_event()
     queue_work(nvmet_wq, &amp;amp;ctrl-&amp;gt;async_event_work)&lt;/p&gt;
&lt;p&gt;B. Full pre-work chain (RDMA CM path):
  nvmet_rdma_cm_handler()
     nvmet_rdma_queue_disconnect()
       __nvmet_rdma_queue_disconnect()
         queue_work(nvmet_wq, &amp;amp;queue-&amp;gt;release_work)
           process_one_work()
             lock((wq_completion)nvmet-wq)  &amp;lt;--------- 1st
             nvmet_rdma_release_queue_work()&lt;/p&gt;
&lt;p&gt;C. Recursive path (same worker):
  nvmet_rdma_release_queue_work()
     nvmet_rdma_free_queue()
       nvmet_sq_destroy()
         nvmet_ctrl_put()
           nvmet_ctrl_free()
             flush_work(&amp;amp;ctrl-&amp;gt;async_event_work)
               __flush_work()
                 touch_wq_lockdep_map()
                 lock((wq_completion)nvmet-wq) &amp;lt;--------- 2nd&lt;/p&gt;
&lt;p&gt;Lockdep splat:&lt;/p&gt;
&lt;p&gt;============================================
  WARNING: possible recursive locking detected
  6.19.0-rc3nvme+ #14 Tainted: G                 N
  --------------------------------------------
  kworker/u192:42/44933 is trying to acquire lock:
  ffff888118a00948 ((wq_completion)nvmet-wq){+.+.}-{0:0},…&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;nvmet: move async event work off nvmet-wq&lt;/p&gt;
&lt;p&gt;For target nvmet_ctrl_free() flushes ctrl-&amp;gt;async_event_work.
If nvmet_ctrl_free() runs on nvmet-wq, the flush re-enters workqueue
completion for the same worker:-&lt;/p&gt;
&lt;p&gt;A. Async event work queued on nvmet-wq (prior to disconnect):
  nvmet_execute_async_event()
     queue_work(nvmet_wq, &amp;amp;ctrl-&amp;gt;async_event_work)&lt;/p&gt;
&lt;p&gt;nvmet_add_async_event()
     queue_work(nvmet_wq, &amp;amp;ctrl-&amp;gt;async_event_work)&lt;/p&gt;
&lt;p&gt;B. Full pre-work chain (RDMA CM path):
  nvmet_rdma_cm_handler()
     nvmet_rdma_queue_disconnect()
       __nvmet_rdma_queue_disconnect()
         queue_work(nvmet_wq, &amp;amp;queue-&amp;gt;release_work)
           process_one_work()
             lock((wq_completion)nvmet-wq)  &amp;lt;--------- 1st
             nvmet_rdma_release_queue_work()&lt;/p&gt;
&lt;p&gt;C. Recursive path (same worker):
  nvmet_rdma_release_queue_work()
     nvmet_rdma_free_queue()
       nvmet_sq_destroy()
         nvmet_ctrl_put()
           nvmet_ctrl_free()
             flush_work(&amp;amp;ctrl-&amp;gt;async_event_work)
               __flush_work()
                 touch_wq_lockdep_map()
                 lock((wq_completion)nvmet-wq) &amp;lt;--------- 2nd&lt;/p&gt;
&lt;p&gt;Lockdep splat:&lt;/p&gt;
&lt;p&gt;============================================
  WARNING: possible recursive locking detected
  6.19.0-rc3nvme+ #14 Tainted: G                 N
  --------------------------------------------
  kworker/u192:42/44933 is trying to acquire lock:
  ffff888118a00948 ((wq_completion)nvmet-wq){+.+.}-{0:0},…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-31557</guid>
    </item>
  </channel>
</rss>
