]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/query: Fix topology query pointer advance
authorShuicheng Lin <shuicheng.lin@intel.com>
Fri, 30 Jan 2026 04:39:08 +0000 (04:39 +0000)
committerMatt Roper <matthew.d.roper@intel.com>
Mon, 2 Feb 2026 18:09:48 +0000 (10:09 -0800)
The topology query helper advanced the user pointer by the size
of the pointer, not the size of the structure. This can misalign
the output blob and corrupt the following mask. Fix the increment
to use sizeof(*topo).
There is no issue currently, as sizeof(*topo) happens to be equal
to sizeof(topo) on 64-bit systems (both evaluate to 8 bytes).

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patch.msgid.link/20260130043907.465128-2-shuicheng.lin@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/xe/xe_query.c

index b7b4261968e0e4b16411e08696d53a35e78cc232..34db266b723fa6dd34cd21c77f1df1c11926724c 100644 (file)
@@ -487,7 +487,7 @@ static int copy_mask(void __user **ptr,
 
        if (copy_to_user(*ptr, topo, sizeof(*topo)))
                return -EFAULT;
-       *ptr += sizeof(topo);
+       *ptr += sizeof(*topo);
 
        if (copy_to_user(*ptr, mask, mask_size))
                return -EFAULT;