drm/xe: Fix error cleanup in xe_exec_queue_create_ioctl()
Summary
| CVE | CVE-2026-52976 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-06-24 17:17:08 UTC |
| Updated | 2026-06-24 17:17:08 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
drm/xe: Fix error cleanup in xe_exec_queue_create_ioctl()
Two error handling issues exist in xe_exec_queue_create_ioctl():
1. When xe_hw_engine_group_add_exec_queue() fails, the error path jumps
to put_exec_queue which skips xe_exec_queue_kill(). If the VM is in
preempt fence mode, xe_vm_add_compute_exec_queue() has already added
the queue to the VM's compute exec queue list. Skipping the kill
leaves the queue on that list, leading to a dangling pointer after
the queue is freed.
2. When xa_alloc() fails after xe_hw_engine_group_add_exec_queue() has
succeeded, the error path does not call
xe_hw_engine_group_del_exec_queue() to remove the queue from the hw
engine group list. The queue is then freed while still linked into
the hw engine group, causing a use-after-free.
Fix both by:
- Changing the xe_hw_engine_group_add_exec_queue() failure path to jump
to kill_exec_queue so that xe_exec_queue_kill() properly removes the
queue from the VM's compute list.
- Adding a del_hw_engine_group label before kill_exec_queue for the
xa_alloc() failure path, which removes the queue from the hw engine
group before proceeding with the rest of the cleanup.
(cherry picked from commit 37c831f401746a45d510b312b0ed7a77b1e06ec8) |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 7970cb36966c9b9183255dc097ae0446300eebcf f93b00161213a0fe9f7ff1d8498ee5ca9e0a5c43 git |
Not specified |
| CNA |
Linux |
Linux |
affected 7970cb36966c9b9183255dc097ae0446300eebcf 753b149d5a433eb19e0c1b0eb4526a6e26120d1f git |
Not specified |
| CNA |
Linux |
Linux |
affected 7970cb36966c9b9183255dc097ae0446300eebcf 1be55646d8a2035343b012dcb12210db7bb8b056 git |
Not specified |
| CNA |
Linux |
Linux |
affected 7970cb36966c9b9183255dc097ae0446300eebcf f3cc22d4df3ed58439ea7e21daa54c3608e03b78 git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.12 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.91 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.33 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.0.10 7.0.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/753b149d5a433eb19e0c1b0eb4526a6e26120d1f |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f3cc22d4df3ed58439ea7e21daa54c3608e03b78 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/1be55646d8a2035343b012dcb12210db7bb8b056 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/f93b00161213a0fe9f7ff1d8498ee5ca9e0a5c43 |
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.