PT-2026-116715 · Linux · Linux

CVE-2026-98496

·

Published

2026-10-18

·

Updated

2026-10-18

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
net: airoha: npu: cancel wdt work after releasing the WDT IRQ
airoha npu remove() calls cancel work sync() on each core's wdt work, but the watchdog IRQ that queues it is requested with devm request irq() and is freed only after .remove() returns. airoha npu wdt handler() can therefore schedule work() again once the cancel has returned. struct airoha npu, which contains the work, is devm kzalloc()'d and is freed in that same unwind, so the late work dereferences freed memory.
Register the work with devm work autocancel() before devm request irq() and drop .remove(). Devres runs in reverse order, so the IRQ is freed before cancel work sync(), including when probe fails. A cancel left in .remove() cannot get that order. Initializing the work first also stops a pending watchdog interrupt from queuing an uninitialized work item. Probe currently calls INIT WORK() only after devm request irq().
This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-98496

Affected Products

Linux