CVE-2026-93202

CVE-2026-93202

published September 17, 2026

CVSS
—
EPSS
0%
Percentile
10.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

i3c: master: Fix recursive locking during device registration

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

"Recursive read locks" section of Documentation/locking/lockdep-design.rst.

For example, with Intel LPSS I3C, LOCKDEP generates a WARNING like:

# echo intel-lpss-i3c.0 > /sys/bus/platform/drivers/mipi-i3c-hci/unbind

# echo intel-lpss-i3c.0 > /sys/bus/platform/drivers/mipi-i3c-hci/bind

WARNING: possible recursive locking detected

kworker/5:1/94 is trying to acquire lock:

ffff88811c810d78 (&i3cbus->lock){++++}-{4:4}, at: i3c_device_match_id+0x45/0x370

but task is already holding lock:

ffff88811c810d78 (&i3cbus->lock){++++}-{4:4}, at: i3c_master_reg_work_fn+0x21/0x5f0

Fix this by separating device creation from device registration.

Populate desc->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.

Use the maintenance lock rather than the normal-use lock while adding

device objects. A write-side maintenance lock prevents readers from

observing a partially initialized desc->dev during initial device

population, or desc->dev disappearing if registration fails.

The local list requires a list node, so add a list node member to struct

i3c_device.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00209 · 10.5th percentile
Published
2026-09-17T21:18Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:12Z
    i3c: master: Fix recursive locking during device registration
    cvelistv5