ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback
In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf and sets them to NULL under graph->lock. A late DSP buffer-done response can race with this: graph_callback() passes the !graph->ar_graph guard (not yet NULL), acquires the lock, but then dereferences a now-NULL buf pointer to read buf[token].phys, crashing at virtual address 0x10. Add a NULL check for buf inside the mutex-protected section in both the write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail out cleanly if buffers have already been freed. This problem is only shown up recently while apr bus was updated to process the commands per service rather from single global queue.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.1.178, 6.12.97, 6.18.40, 6.6.145, 7.1.5
- CVEs
- CVE-2026-72257
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 01:49 UTC · Revision 1
Source evidence
ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback
core-osv · Original sourcePublished 15 Aug 2026, 05:54 UTC
In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf and sets them to NULL under graph->lock. A late DSP buffer-done response can race with this: graph_callback() passes the !graph->ar_graph guard (not yet NULL), acquires the lock, but then dereferences a now-NULL buf pointer to read buf[token].phys, crashing at virtual address 0x10. Add a NULL check for buf inside the mutex-protected section in both the write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail out cleanly if buffers have already been freed. This problem is only shown up recently while apr bus was updated to process the commands per service rather from single global queue.
osv:CVE-2026-72257
Kernel
Fixed versions: 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5
Complete source record
{
"id": "f2d5263b1c0019a6f1625420516225fa9f1d665fc41266cf821a7df213c7d74f",
"url": "https://osv.dev/vulnerability/CVE-2026-72257",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback",
"summary": "In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf and sets them to NULL under graph->lock. A late DSP buffer-done response can race with this: graph_callback() passes the !graph->ar_graph guard (not yet NULL), acquires the lock, but then dereferences a now-NULL buf pointer to read buf[token].phys, crashing at virtual address 0x10. Add a NULL check for buf inside the mutex-protected section in both the write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail out cleanly if buffers have already been freed. This problem is only shown up recently while apr bus was updated to process the commands per service rather from single global queue.",
"evidence": "osv:CVE-2026-72257",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.1.178",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.145",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.97",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.40",
"evidence": "/affected/1/ranges"
},
{
"value": "7.1.5",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-72257",
"aliases": [
"CVE-2026-72257"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "5477518b8a0e8a45239646acd80c9bafc4401522"
},
{
"fixed": "a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc"
},
{
"fixed": "ec369eac0795cfa8f4d3a0cd35a1e8e15f780331"
},
{
"fixed": "2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3"
},
{
"fixed": "ca028334343a140efda4b22e53cbce2c5e94a489"
},
{
"fixed": "214af790e3a33ab73587de4c925c60a550eae9c6"
},
{
"fixed": "2e9261761b35f0b67b7487688cd1365f535be0b3"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72257.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.178"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.145"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.97"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.40"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.1.5"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72257.json"
}
}
],
"modified": "2026-10-28T02:30:48.689294457Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/214af790e3a33ab73587de4c925c60a550eae9c6",
"https://git.kernel.org/stable/c/2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3",
"https://git.kernel.org/stable/c/2e9261761b35f0b67b7487688cd1365f535be0b3",
"https://git.kernel.org/stable/c/a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc",
"https://git.kernel.org/stable/c/ca028334343a140efda4b22e53cbce2c5e94a489",
"https://git.kernel.org/stable/c/ec369eac0795cfa8f4d3a0cd35a1e8e15f780331",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72257.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-72257",
"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/72xxx/CVE-2026-72257.json"
}
},
"related_cves": [
{
"value": "CVE-2026-72257",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 517113,
"published_at": "2026-08-15T05:54:44.448+00:00"
}