All of lore.kernel.org
 help / color / mirror / Atom feed
* CVE-2026-72454: i3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev()
@ 2026-08-15  6:08 Greg Kroah-Hartman
  0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-08-15  6:08 UTC (permalink / raw)
  To: linux-cve-announce; +Cc: Greg Kroah-Hartman

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

i3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev()

i3c_hci_addr_to_dev() walks bus->devs.i3c, which is protected by
bus.lock (rwsem).  However, it is invoked from the MIPI I3C HCI IRQ
handler, which cannot take bus.lock.  This allows concurrent device
addition/removal in the I3C core to modify the list while it is being
traversed, potentially leading to use-after-free or crashes.

Remove the dependency on the bus device list and introduce a dedicated
lookup table.  Add an ibi_devs[] array indexed by DAT entry, maintained
under hci->lock.  Update the array when IBIs are enabled or disabled,
so that it always reflects the set of devices allowed to generate IBIs.
Also update when IBIs are freed, to cover the corner case when an IBI is
freed without first being disabled (e.g. oldedev in
i3c_master_add_i3c_dev_locked()).

Move i3c_hci_addr_to_dev() into core.c, reimplement it using the new
array, and add a lockdep assertion to enforce that hci->lock is held
by callers.

Demote a message in PIO and DMA IBI handling, from an error to a debug
message, because there is a race window when the condition can arise
normally.

The Linux kernel CVE team has assigned CVE-2026-72454 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.11 with commit 9ad9a52cce2828d932ae9495181e3d6414f72c07 and fixed in 7.1.5 with commit 8f851cab401c28287d536b1347d76f6e219c0db6
	Issue introduced in 5.11 with commit 9ad9a52cce2828d932ae9495181e3d6414f72c07 and fixed in 7.2-rc1 with commit 650716f23eac488c6696babdc7805f6a6b7427ad

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-72454
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/i3c/master/mipi-i3c-hci/core.c
	drivers/i3c/master/mipi-i3c-hci/dma.c
	drivers/i3c/master/mipi-i3c-hci/hci.h
	drivers/i3c/master/mipi-i3c-hci/ibi.h
	drivers/i3c/master/mipi-i3c-hci/pio.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/8f851cab401c28287d536b1347d76f6e219c0db6
	https://git.kernel.org/stable/c/650716f23eac488c6696babdc7805f6a6b7427ad

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-15  6:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-15  6:08 CVE-2026-72454: i3c: mipi-i3c-hci: Fix race in i3c_hci_addr_to_dev() Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.