<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T19:00:19.526599+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-90184</id>
    <title>CVE-2026-90184 — null_blk: serialize configfs attribute updates with device setup</title>
    <updated>2026-09-30T19:00:19.527747+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>null_blk: serialize configfs attribute updates with device setup</p>
<p>The attribute store methods generated with NULLB_DEVICE_ATTR() refuse to
change the configuration of a live device by testing
NULLB_DEV_FL_CONFIGURED, but that flag is only set by
nullb_device_power_store() after null_add_dev() has returned, and the
store methods take no lock at all. configfs only serializes writes to
the same open file (buffer-&gt;mutex), so a write to any attribute can run
concurrently with null_add_dev() and change the device configuration
while it is being used.</p>
<p>null_add_dev() reads the configuration several times, e.g. dev-&gt;zoned is
read once to set up the queue limits and once to initialize the zone
resources:</p>
<p>CPU0: echo 1 &gt; nullb0/power         CPU1: echo 1 &gt; nullb0/zoned
  nullb_device_power_store()
    mutex_lock(&amp;lock)
    null_add_dev()
      if (dev-&gt;zoned) -&gt; false
        /* no BLK_FEAT_ZONED */       nullb_device_zoned_store()
                                        test_bit(FL_CONFIGURED) -&gt; 0
                                        dev-&gt;zoned = true
      blk_mq_alloc_disk()
        /* queue is not zoned */
      if (nullb-&gt;dev-&gt;zoned) -&gt; true
        null_register_zoned_dev()
          blk_revalidate_disk_zones()</p>
<p>blk_revalidate_disk_zones() is then called for a queue that does not
have BLK_FEAT_ZONED set, which triggers its WARN_ON_ONCE() and fails the
device setup with -EIO:</p>
<p>WARNING: CPU: 2 PID: 322 at…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-90184"/>
  </entry>
</feed>
