net: airoha: npu: cancel wdt_work after releasing the WDT IRQ
Summary
| CVE | CVE-2026-98496 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-10-18 16:17:00 UTC |
| Updated | 2026-10-19 10:19:02 UTC |
| Description | 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. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 23290c7bc190def4e1ca61610992d9b7c32e33f3 aca91d8fa0ecbc990ebf9a688c684dda78a43c00 git |
Not specified |
| CNA |
Linux |
Linux |
affected 23290c7bc190def4e1ca61610992d9b7c32e33f3 da9d42531f3a6dfea2e9c775b62a46185dbf280a git |
Not specified |
| CNA |
Linux |
Linux |
affected 23290c7bc190def4e1ca61610992d9b7c32e33f3 4bdee8060d1e4581624e68fbd369b1afb14df4bc git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.15 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.15 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.55 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.9 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/aca91d8fa0ecbc990ebf9a688c684dda78a43c00 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/4bdee8060d1e4581624e68fbd369b1afb14df4bc |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/da9d42531f3a6dfea2e9c775b62a46185dbf280a |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.