CVE-2026-98670 affecting package kernel 6.6.157.1-1
In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.
- Products
- kernel
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-98670
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 17:25 UTC · Revision 1
Source evidence
CVE-2026-98670 affecting package kernel 6.6.157.1-1
core-osv · Original sourcePublished 18 Oct 2026, 16:17 UTC
In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.
osv:AZL-109361
kernel
Fixed versions: Not specified
Complete source record
{
"id": "bac8ad85d47340ee62356033c904a2767bf023064b738833d4305094424967a9",
"url": "https://osv.dev/vulnerability/AZL-109361",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2026-98670 affecting package kernel 6.6.157.1-1",
"summary": "In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.",
"evidence": "osv:AZL-109361",
"products": [
{
"name": {
"value": "kernel",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "AZL-109361",
"aliases": [
"AZL-109361"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"last_affected": "6.6.157.1-1"
}
]
}
],
"package": {
"name": "kernel",
"purl": "pkg:rpm/azure-linux/kernel",
"ecosystem": "Azure Linux:3"
},
"database_specific": {
"source": "https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-109361.json"
}
}
],
"modified": "2026-10-27T05:36:16Z",
"provider": "osv",
"upstream": [
"CVE-2026-98670"
],
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2026-98670"
]
},
"related_cves": [
{
"value": "CVE-2026-98670",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 460463,
"published_at": "2026-10-18T16:17:20+00:00"
}