drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches
In the Linux kernel, the following vulnerability has been resolved: drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches emit_render_cache_flush() sets PIPE_CONTROL0_HDC_PIPELINE_FLUSH to flush the L2/HDC data cache before fence signalling, but it never requests a flush of the LSC untyped L1 data cache via the 'Untyped Data-Port Cache Flush Enable' bit in PIPE_CONTROL DWord0[11]. Per the Bspec, in 3D pipeline mode HDC Pipeline Flush is documented to also flush/invalidate the untyped L1 cache, but only depending on how HDC_CHICKEN0[13:11] is programmed. Starting with MTL, this coupling between HDC Pipeline Flush and the untyped L1 cache flush no longer holds in practice, regardless of how HDC_CHICKEN0 is programmed, so relying on it is not safe on newer platforms such as BMG. Mesa's Vulkan driver (anv) has been assuming the kernel flushes both caches between submissions, and hit user-visible corruption in apps such as Llama.cpp because of this gap; it now works around it by flushing both caches again from userspace at the end of every command buffer. Correctness between submissions on the same queue is userspace's responsibility and belongs in Mesa, not the kernel. However, for security we must ensure stale data can't leak through the untyped L1 dataport cache once memory is reclaimed or evicted, which requires the KMD to flush it before releasing memory for reuse. Prior to MTL, HDC_CHICKEN0 could be programmed (as already done for DG2 via Wa_22010960976/Wa_140133
CVE-2026-97620
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-97620
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "9f8f93bee3efdba3bf7853befe2219e3a300c305",
"lessThan": "d73975c121f56fe3fcbbfcfe3ea8853b9f597ab3",
"versionType": "git"
},
{
"status": "affected",
"version": "9f8f93bee3efdba3bf7853befe2219e3a300c305",
"lessThan": "fab569a69c3ae9beced68307e36048efa2709bec",
"versionType": "git"
},
{
"status": "affected",
"version": "9f8f93bee3efdba3bf7853befe2219e3a300c305",
"lessThan": "92393fc5227b2b701f2b1530c9cd6dac6ee90b71",
"versionType": "git"
},
{
"status": "affected",
"version": "9f8f93bee3efdba3bf7853befe2219e3a300c305",
"lessThan": "f5fcf7e638b904397ec0f66d3ea6766ef0cfe25b",
"versionType": "git"
}
],
"programFiles": [
"drivers/gpu/drm/xe/instructions/xe_gpu_commands.h",
"drivers/gpu/drm/xe/xe_ring_ops.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.8"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.8",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/gpu/drm/xe/instructions/xe_gpu_commands.h",
"drivers/gpu/drm/xe/xe_ring_ops.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-97620
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #38056 · Revision 1
- Added to Heist Feed
- Publisher date