{"id":"CVE-2026-80953","summary":"i3c: master: adi: initialize the lock before enabling interrupts","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ni3c: master: adi: initialize the lock before enabling interrupts\n\nadi_i3c_master_probe() requests the IRQ and unmasks REG_IRQ_PENDING_CMDR\nbefore the controller's IBI state, transfer queue list and transfer\nqueue lock are initialized.  A pending CMDR interrupt can therefore run\nadi_i3c_master_irq() and take master-\u003exferqueue.lock before the dynamic\nlock has been initialized.\n\nThis issue was found by our static analysis tool and then manually\nreviewed against the current tree.\n\nThe grounded PoC kept the probe ordering and the IRQ path\nadi_i3c_master_probe() -\u003e adi_i3c_master_irq() -\u003e xferqueue.lock, with a\npending CMDR interrupt arriving after REG_IRQ_PENDING_CMDR is unmasked.\nLockdep reported:\n\n  INFO: trying to register non-static key.\n  you didn't initialize this object before use?\n  lock_acquire+0xbb/0x290\n  _raw_spin_lock_irqsave+0x36/0x60\n  adi_i3c_master_irq+0x32/0x56 [vuln_msv]\n  adi_i3c_master_probe+0x5a/0xf47 [vuln_msv]\n\nInitialize the transfer queue and IBI state before requesting and\nunmasking the IRQ.","modified":"2026-09-13T03:46:52.427574494Z","published":"2026-09-11T19:42:22.515Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80953.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/8a53f9102a0d3eeb8784999f925028acf339c276"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a15a1b95de980362c14f32f519b293b0d12ce86f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/de8c32b0a246bbb4b44ec29e12769496a0bf66f7"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80953.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-80953"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"a79ac2cdc91d6be3010f2e9a3b2a2ccfc26e2086"},{"fixed":"a15a1b95de980362c14f32f519b293b0d12ce86f"},{"fixed":"de8c32b0a246bbb4b44ec29e12769496a0bf66f7"},{"fixed":"8a53f9102a0d3eeb8784999f925028acf339c276"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80953.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.18.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80953.json"}}],"schema_version":"1.9.0"}