CVE-2026-68274
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
10/08/2026
Last modified:
17/08/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
drm/xe/guc: Fix buffer overflow in steered register list allocation<br />
<br />
The size calculation for the steered register extarray uses only the<br />
geometry DSS mask (g_dss_mask) to determine the number of entries to<br />
allocate:<br />
<br />
total = bitmap_weight(gt->fuse_topo.g_dss_mask, ...) * steer_reg_num;<br />
<br />
However, the filling loop uses for_each_dss_steering(), which iterates<br />
over for_each_dss(), defined as the union of g_dss_mask and c_dss_mask<br />
(geometry + compute DSS). On platforms with compute-only DSS bits, the<br />
loop writes past the allocated buffer, corrupting adjacent slab objects.<br />
<br />
This manifests as list_del corruption and SLUB redzone overwrites during<br />
drm_managed_release on device unbind, since the overflow corrupts the<br />
drmres list_head of neighboring allocations.<br />
<br />
Fix by computing the allocation size using the union of both DSS masks,<br />
matching the iteration pattern of for_each_dss_steering().<br />
<br />
--<br />
v2:<br />
- use bitmap_weighted_or() (Zhanjun)<br />
<br />
(cherry picked from commit 0a78a44f4901aa6c9263e66be7fce02282f1109f)
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH



