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-&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)