Impact
The Linux kernel’s i2c_imx driver contains a race condition and a null pointer dereference that can lead to a denial of service. During slave registration, the driver assigns the slave pointer before successfully resuming power management. If the resume fails, the slave pointer is left non‑NULL and subsequent registrations fail with –EBUSY. Concurrent execution of the shared IRQ handler can also dereference the stale pointer while holding the slave_lock, potentially causing a crash. Fixing the race condition and ensuring the pointer is cleared on failure eliminates the possibility of a stale pointer and prevents the crash, thereby restoring reliable operation of the I2C controller.
Affected Systems
Any Linux kernel installation that includes the i2c_imx driver is potentially affected, including all i.MX platforms that rely on this I2C controller driver. The patch is applied at the kernel level, so all kernel versions prior to the commit in the linked revisions are considered vulnerable. No specific release numbers are listed, but any kernel build that contains the unpatched i2c_imx implementation is at risk.
Risk and Exploitability
The vulnerability is local and would require an attacker with the ability to trigger I2C slave registration or induce an interrupt on the shared IRQ, likely through a device connected to the affected bus. The EPSS score of <1% indicates a low probability of exploitation, and the absence of the vulnerability from the CISA KEV list suggests no known active exploits. The CVSS score of 8.4 remains high, primarily due to the potential for denial of service through repeated driver crashes or interruption of legitimate bus traffic. The likely attack vector is inferred to be local interaction with the I2C bus by a device connected to the controller, as the description does not specify remote exploitation mechanisms.
OpenCVE Enrichment
Debian DLA