pds_core: quiesce DMA before freeing resources
In the Linux kernel, the following vulnerability has been resolved: pds_core: quiesce DMA before freeing resources pdsc_teardown() frees DMA buffers but does not disable bus mastering, leaving the device able to perform DMA after the buffers are freed. This can lead to use-after-free if the device writes to freed memory. Add pci_clear_master() to pdsc_teardown() to disable bus mastering before freeing resources, ensuring all DMA is quiesced. Add pci_set_master() to pdsc_setup() to re-enable bus mastering, which is needed for the firmware recovery path since pdsc_teardown() now disables it.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.111, 6.18.53, 6.6.160
- CVEs
- CVE-2026-97412
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 14:28 UTC · Revision 1
Source evidence
pds_core: quiesce DMA before freeing resources
core-osv · Original sourcePublished 24 Sept 2026, 16:03 UTC
In the Linux kernel, the following vulnerability has been resolved: pds_core: quiesce DMA before freeing resources pdsc_teardown() frees DMA buffers but does not disable bus mastering, leaving the device able to perform DMA after the buffers are freed. This can lead to use-after-free if the device writes to freed memory. Add pci_clear_master() to pdsc_teardown() to disable bus mastering before freeing resources, ensuring all DMA is quiesced. Add pci_set_master() to pdsc_setup() to re-enable bus mastering, which is needed for the firmware recovery path since pdsc_teardown() now disables it.
osv:CVE-2026-97412
Kernel
Fixed versions: 6.6.160, 6.12.111, 6.18.53
Complete source record
{
"id": "434b382fd16e9bcec9eecffcb4bbaf0b046d3ac6ac4df4abc267ab9c012e9b04",
"url": "https://osv.dev/vulnerability/CVE-2026-97412",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "pds_core: quiesce DMA before freeing resources",
"summary": "In the Linux kernel, the following vulnerability has been resolved: pds_core: quiesce DMA before freeing resources pdsc_teardown() frees DMA buffers but does not disable bus mastering, leaving the device able to perform DMA after the buffers are freed. This can lead to use-after-free if the device writes to freed memory. Add pci_clear_master() to pdsc_teardown() to disable bus mastering before freeing resources, ensuring all DMA is quiesced. Add pci_set_master() to pdsc_setup() to re-enable bus mastering, which is needed for the firmware recovery path since pdsc_teardown() now disables it.",
"evidence": "osv:CVE-2026-97412",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.6.160",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.111",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.53",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-97412",
"aliases": [
"CVE-2026-97412"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "45d76f492938cdc27ddadc16e1e75103f4cfbf56"
},
{
"fixed": "84fc3f30b87e06a11d1807cd385603522610ed40"
},
{
"fixed": "cc8beb70e70fc90e54efdbc1128cf7de799e6be4"
},
{
"fixed": "9eee6b90bee3df496ed9094d9e76d5e478d72d0a"
},
{
"fixed": "6443f4f20bdae726fe01cf5946fba9742a0ffda6"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97412.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.4.0"
},
{
"fixed": "6.6.160"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.111"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.53"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97412.json"
}
}
],
"modified": "2026-10-28T02:30:29.508355200Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/6443f4f20bdae726fe01cf5946fba9742a0ffda6",
"https://git.kernel.org/stable/c/84fc3f30b87e06a11d1807cd385603522610ed40",
"https://git.kernel.org/stable/c/9eee6b90bee3df496ed9094d9e76d5e478d72d0a",
"https://git.kernel.org/stable/c/cc8beb70e70fc90e54efdbc1128cf7de799e6be4",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97412.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-97412",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97412.json"
}
},
"related_cves": [
{
"value": "CVE-2026-97412",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 496398,
"published_at": "2026-09-24T16:03:19.355+00:00"
}