{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "f7414cd6923fd7f78e57086fc964ba2dc25db5c1"
            },
            {
              "fixed": "754bc62f72fd64b202462367134ac8ce95b005de"
            },
            {
              "fixed": "cfdf6e13518589f911b7eace6ccb788e4ed87397"
            },
            {
              "fixed": "b9f6f4883b9ac86654e75899d0dbf8a7a96ad5d8"
            },
            {
              "fixed": "d6748f6802f3eebafaa16a5e5dcfbfb9b3bc173f"
            },
            {
              "fixed": "12a4f0950a158d98552cbaeacc35edccd8d975fa"
            },
            {
              "fixed": "614ca6594e301ff682999797c2216e9685558a2b"
            },
            {
              "fixed": "d64ec362c369bbc33833f7936d5f3a706b0d5c45"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "5.11.0"
            },
            {
              "fixed": "5.15.217"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.1.183"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.6.151"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.12.103"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.44"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.1.8"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80678.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: imx: Fix slave registration race and error handling\n\nIn i2c_imx_reg_slave(), the slave pointer was assigned before\npm_runtime_resume_and_get().  If pm_runtime_resume_and_get() failed,\nthe error path returned without clearing i2c_imx-\u003eslave, leaving it\nnon-NULL and causing all subsequent registration attempts to fail\nwith -EBUSY.\n\nAdditionally, because this driver uses a shared IRQ, the interrupt\nhandler i2c_imx_isr() can execute concurrently and, after acquiring\nslave_lock, dereference i2c_imx-\u003eslave.  The previous fix attempt\nadded a lockless i2c_imx-\u003eslave = NULL on the error path, but that\ncould race with the ISR under the lock and still cause a NULL pointer\ndereference.\n\nFix both issues by deferring the assignment of i2c_imx-\u003eslave and\ni2c_imx-\u003elast_slave_event to after a successful resume, and by\nperforming the assignment inside the slave_lock critical section.\nThis guarantees that the slave pointer is never left stale on the\nerror path and is always valid when observed by the interrupt handler.",
  "id": "CVE-2026-80678",
  "modified": "2026-08-30T03:31:05.095373308Z",
  "published": "2026-08-28T06:52:47.077Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/12a4f0950a158d98552cbaeacc35edccd8d975fa"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/614ca6594e301ff682999797c2216e9685558a2b"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/754bc62f72fd64b202462367134ac8ce95b005de"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b9f6f4883b9ac86654e75899d0dbf8a7a96ad5d8"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/cfdf6e13518589f911b7eace6ccb788e4ed87397"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d64ec362c369bbc33833f7936d5f3a706b0d5c45"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d6748f6802f3eebafaa16a5e5dcfbfb9b3bc173f"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80678.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-80678"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "i2c: imx: Fix slave registration race and error handling"
}