CVE-2026-80953: i3c: master: adi: initialize the lock before enabling interrupts

Published Sep 11, 2026
·
Updated

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

i3c: master: adi: initialize the lock before enabling interrupts

adii3cmasterprobe() requests the IRQ and unmasks REGIRQPENDINGCMDR before the controller's IBI state, transfer queue list and transfer queue lock are initialized. A pending CMDR interrupt can therefore run adii3cmasterirq() and take master->xferqueue.lock before the dynamic lock has been initialized.

This issue was found by our static analysis tool and then manually reviewed against the current tree.

The grounded PoC kept the probe ordering and the IRQ path adii3cmasterprobe() -> adii3cmasterirq() -> xferqueue.lock, with a pending CMDR interrupt arriving after REGIRQPENDINGCMDR is unmasked. Lockdep reported:

INFO: trying to register non-static key. you didn't initialize this object before use? lockacquire+0xbb/0x290 rawspinlockirqsave+0x36/0x60 adii3cmasterirq+0x32/0x56 [vulnmsv] adii3cmasterprobe+0x5a/0xf47 [vulnmsv]

Initialize the transfer queue and IBI state before requesting and unmasking the IRQ.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:42 PM
Data Sourced
via MITRE·07:42 PM
Description

Frequently Asked Questions

1

Under what condition can this race occur?

The ADI I3C master controller must have a pending CMDR interrupt when the driver probe path unmasks REG_IRQ_PENDING_CMDR. The interrupt can then execute before the driver's transfer queue lock and IBI state have been initialized.

2

What is the practical impact of triggering the issue?

The IRQ handler may attempt to acquire an uninitialized dynamic transfer-queue lock. The reported reproducer triggered a Lockdep warning about registering a non-static key before initialization.

3

What should be done if patching cannot be applied immediately?

The provided information identifies the unsafe condition as enabling and unmasking the IRQ before initialization completes. No supported runtime mitigation or configuration workaround is provided.

4

How can administrators identify a potentially affected system?

Look for Lockdep messages such as "trying to register non-static key" with a stack involving adi_i3c_master_irq(), _raw_spin_lock_irqsave(), and adi_i3c_master_probe(). The issue is associated with the ADI I3C master driver probe and a pending CMDR interrupt.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203