<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 07:20:20 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-93202 — i3c: master: Fix recursive locking during device registration</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-93202</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;i3c: master: Fix recursive locking during device registration&lt;/p&gt;
&lt;p&gt;i3c_master_register_new_i3c_devs() registers newly discovered devices
while holding i3c_bus_normaluse_lock(), a down_read().  device_register()
can immediately probe the device, and probe callbacks typically invoke
I3C helpers that take i3c_bus_normaluse_lock() again, leading to a
recursive acquisition of the same rwsem.  rwsems do not support recursive
read locking and can deadlock when a writer is waiting.  See the
&amp;#34;Recursive read locks&amp;#34; section of Documentation/locking/lockdep-design.rst.&lt;/p&gt;
&lt;p&gt;For example, with Intel LPSS I3C, LOCKDEP generates a WARNING like:
  # echo intel-lpss-i3c.0 &amp;gt; /sys/bus/platform/drivers/mipi-i3c-hci/unbind
  # echo intel-lpss-i3c.0 &amp;gt; /sys/bus/platform/drivers/mipi-i3c-hci/bind
  WARNING: possible recursive locking detected
  kworker/5:1/94 is trying to acquire lock:
  ffff88811c810d78 (&amp;amp;i3cbus-&amp;gt;lock){++++}-{4:4}, at: i3c_device_match_id+0x45/0x370
  but task is already holding lock:
  ffff88811c810d78 (&amp;amp;i3cbus-&amp;gt;lock){++++}-{4:4}, at: i3c_master_reg_work_fn+0x21/0x5f0&lt;/p&gt;
&lt;p&gt;Fix this by separating device creation from device registration.
Populate desc-&amp;gt;dev under the maintenance lock, collect the devices that
still need registration into a local list, then release the lock before
calling device_register().  Finally retake the lock and clean up any
devices that failed to register.&lt;/p&gt;
&lt;p&gt;Use the maintenance lock rather than the norma…&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;i3c: master: Fix recursive locking during device registration&lt;/p&gt;
&lt;p&gt;i3c_master_register_new_i3c_devs() registers newly discovered devices
while holding i3c_bus_normaluse_lock(), a down_read().  device_register()
can immediately probe the device, and probe callbacks typically invoke
I3C helpers that take i3c_bus_normaluse_lock() again, leading to a
recursive acquisition of the same rwsem.  rwsems do not support recursive
read locking and can deadlock when a writer is waiting.  See the
&amp;#34;Recursive read locks&amp;#34; section of Documentation/locking/lockdep-design.rst.&lt;/p&gt;
&lt;p&gt;For example, with Intel LPSS I3C, LOCKDEP generates a WARNING like:
  # echo intel-lpss-i3c.0 &amp;gt; /sys/bus/platform/drivers/mipi-i3c-hci/unbind
  # echo intel-lpss-i3c.0 &amp;gt; /sys/bus/platform/drivers/mipi-i3c-hci/bind
  WARNING: possible recursive locking detected
  kworker/5:1/94 is trying to acquire lock:
  ffff88811c810d78 (&amp;amp;i3cbus-&amp;gt;lock){++++}-{4:4}, at: i3c_device_match_id+0x45/0x370
  but task is already holding lock:
  ffff88811c810d78 (&amp;amp;i3cbus-&amp;gt;lock){++++}-{4:4}, at: i3c_master_reg_work_fn+0x21/0x5f0&lt;/p&gt;
&lt;p&gt;Fix this by separating device creation from device registration.
Populate desc-&amp;gt;dev under the maintenance lock, collect the devices that
still need registration into a local list, then release the lock before
calling device_register().  Finally retake the lock and clean up any
devices that failed to register.&lt;/p&gt;
&lt;p&gt;Use the maintenance lock rather than the norma…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-93202</guid>
    </item>
  </channel>
</rss>
