In the Linux kernel, the following vulnerability has been resolved:
i3c: Add NULL pointer check in i3c_master_queue_ibi()
The I3C master driver may receive an IBI from a target device that has not
been probed yet. In such cases, the master calls i3c_master_queue_ibi()
to queue an IBI work task, leading to "Unable to handle kernel read from
unreadable memory" and resulting in a kernel panic.
Typical IBI handling flow:
i3c_device_request_ibi() to enable IBI
and assigns dev->ibi = ibi.i3c_master_queue_ibi() to queue the target device driver’s IBI
handler task.However, since target device events are asynchronous to the I3C probe
sequence, step 3 may occur before step 2, causing dev->ibi to be NULL,
leading to a kernel panic.
Add a NULL pointer check in i3c_master_queue_ibi() to prevent accessing
an uninitialized dev->ibi, ensuring stability.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 5.0 | 5.4.293 |
| linux / linux_kernel | 5.5 | 5.10.237 |
| linux / linux_kernel | 5.11 | 5.15.181 |
| linux / linux_kernel | 5.16 | 6.1.135 |
| linux / linux_kernel | 6.2 | 6.6.88 |
| linux / linux_kernel | 6.7 | 6.12.24 |
| linux / linux_kernel | 6.13 | 6.13.12 |
| linux / linux_kernel | 6.14 | 6.14.3 |
| debian / debian_linux | 11.0 | 11.0.x |