CVE-2026-93283

Summary

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

i3c: master: Fix device_register() error path

When device_register() fails in i3c_master_register_new_i3c_devs(), put_device() is called to drop the reference taken by device_register(). That drops the last reference, so the device's release callback i3c_device_release() runs and frees the i3c_device.

Two problems follow from that:

i3c_device_release() does WARN_ON(i3cdev->desc), so it warns because desc->dev->desc still points back at the descriptor. Clear it before calling put_device().

After put_device() frees the i3c_device, desc->dev is left pointing at freed memory, so clear desc->dev as well. That prevents, for example, i3c_master_unregister_i3c_devs() seeing desc->dev as non-NULL and dereferencing it.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1832ed55df45f4145335ad992fb83813cdc58b5d < 5bf498623f8397d45f85f14cd631c5e5a565c2fbaffected
LinuxLinuxd48fe8d98171e0fffdeaa8b37ce0a6444bff819b < 20a2b6df91fd782ef2ff551febef594d0b46a9a7affected
LinuxLinux174ae0a3b89e7804e4ea3d31bd83d6e43f39568c < a14dbdf471001dd0601b0c491184990c178a199caffected
LinuxLinuxe49a51a96b531f1b4bcd8d358e645b6c74ef67e6 < d22ad96f1a0c89e0ba66a2facc7430f0923919e3affected
LinuxLinuxcab63f64887616e3c4e31cfd8103320be6ebc8d3 < 7f8e2c4f3704d9774bb26b49b1ad6a60ae57d4a0affected
LinuxLinuxcab63f64887616e3c4e31cfd8103320be6ebc8d3 < 7ef12e1dd06e442eebf370f6e53c41bd056d0f22affected
LinuxLinuxcab63f64887616e3c4e31cfd8103320be6ebc8d3 < 6ecf17bf5fe8da51a6e3fc9e03a76898fcc5c6cfaffected
LinuxLinuxcab63f64887616e3c4e31cfd8103320be6ebc8d3 < 74be657d98a8d684c0475f3cbd450ef2a30ffc73affected
LinuxLinux204beeb509d37669de34560e83bb8abffe7ee63aaffected
LinuxLinuxb24cf43d9babf1265a2bb0ae8d198267cef43b83affected
LinuxLinux5.10.201 < 5.10.270affected
LinuxLinux5.15.139 < 5.15.221affected
LinuxLinux6.1.63 < 6.1.188affected
LinuxLinux6.6.2 < 6.6.157affected
LinuxLinux5.4.261 < 5.5affected
LinuxLinux6.5.12 < 6.6affected
LinuxLinux6.7affected
LinuxLinux0 < 6.7unaffected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References