Subject: CVE-2023-52763: i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data.

From: Greg Kroah-Hartman <[email-masked]>

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

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

i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data.

The `i3c_master_bus_init` function may attach the I2C devices before the
I3C bus initialization. In this flow, the DAT `alloc_entry`` will be used
before the DAT `init`. Additionally, if the `i3c_master_bus_init` fails,
the DAT `cleanup` will execute before the device is detached, which will
execue DAT `free_entry` function. The above scenario can cause the driver
to use DAT_data when it is NULL.

The Linux kernel CVE team has assigned CVE-2023-52763 to this issue.

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

	Fixed in 5.15.140 with commit 39c71357e68e
	Fixed in 6.1.64 with commit e64d23dc6581
	Fixed in 6.5.13 with commit 3cb79a365e7c
	Fixed in 6.6.3 with commit eed74230435c
	Fixed in 6.7 with commit b53e9758a31c

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-2023-52763
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/dat_v1.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/39c71357e68e2f03766f9321b9f4882e49ff1442
	https://git.kernel.org/stable/c/e64d23dc65810be4e3395d72df0c398f60c991f9
	https://git.kernel.org/stable/c/3cb79a365e7cce8f121bba91312e2ddd206b9781
	https://git.kernel.org/stable/c/eed74230435c61eeb58abaa275b1820e6a4b7f02
	https://git.kernel.org/stable/c/b53e9758a31c683fc8615df930262192ed5f034b