CVE-2026-80678

CVE-2026-80678

High · published August 28, 2026

CVSS v3.1
8.4
EPSS
0%
Percentile
3.2
In the wild
Unconfirmed
What it is

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

i2c: imx: Fix slave registration race and error handling

In i2c_imx_reg_slave(), the slave pointer was assigned before

pm_runtime_resume_and_get(). If pm_runtime_resume_and_get() failed,

the error path returned without clearing i2c_imx->slave, leaving it

non-NULL and causing all subsequent registration attempts to fail

with -EBUSY.

Additionally, because this driver uses a shared IRQ, the interrupt

handler i2c_imx_isr() can execute concurrently and, after acquiring

slave_lock, dereference i2c_imx->slave. The previous fix attempt

added a lockless i2c_imx->slave = NULL on the error path, but that

could race with the ISR under the lock and still cause a NULL pointer

dereference.

Fix both issues by deferring the assignment of i2c_imx->slave and

i2c_imx->last_slave_event to after a successful resume, and by

performing the assignment inside the slave_lock critical section.

This guarantees that the slave pointer is never left stale on the

error path and is always valid when observed by the interrupt handler.

The record
Technical detail
CVSS v3.1
8.4 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00142 · 3.2th percentile
Published
2026-08-28T12:16Z
References (7)
EPSS history
Timeline
  • 28 AUG 06:52Z
    i2c: imx: Fix slave registration race and error handling
    cvelistv5