]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/xe/vm: Fix error handling in xe_vm_query_vmas_attrs_ioctl()
authorHimal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Thu, 28 Aug 2025 10:49:33 +0000 (16:19 +0530)
committerHimal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Thu, 4 Sep 2025 06:28:21 +0000 (11:58 +0530)
copy_to_user() returns the number of bytes not copied on failure, not a
negative error code. Update the logic to return -EFAULT instead of the
number of bytes to correctly signal the error.

Fixes: 418807860e94 ("drm/xe/uapi: Add UAPI for querying VMA count and memory attributes")
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Link: https://lore.kernel.org/r/20250828104933.3839825-3-himal.prasad.ghimiray@intel.com
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
drivers/gpu/drm/xe/xe_vm.c

index 3ff3c67aa79d90d8ec2f3097dcd82445045dd6d6..f55f96bb240a1017a66919b745bf2393ec51e391 100644 (file)
@@ -2288,6 +2288,8 @@ int xe_vm_query_vmas_attrs_ioctl(struct drm_device *dev, void *data, struct drm_
 
        err = copy_to_user(attrs_user, mem_attrs,
                           args->sizeof_mem_range_attr * args->num_mem_ranges);
+       if (err)
+               err = -EFAULT;
 
 free_mem_attrs:
        kvfree(mem_attrs);