]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/xe: Fix access_ok check in user_fence_create
authorNirmoy Das <nirmoy.das@intel.com>
Tue, 6 Aug 2024 11:07:22 +0000 (13:07 +0200)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 12 Sep 2024 14:06:30 +0000 (10:06 -0400)
Check size of the data not size of the pointer.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202407300421.IBkAja96-lkp@intel.com/
Fixes: ddeb7989a98f ("drm/xe: Validate user fence during creation")
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Reviewed-by: Apoorva Singh <apoorva.singh@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240806110722.28661-1-nirmoy.das@intel.com
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
(cherry picked from commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_sync.c

index e8d31e0108601981a1ba70434f97e7d80945a342..80499681bd583d2c2e89eeb8c3917df621f17bf7 100644 (file)
@@ -55,7 +55,7 @@ static struct xe_user_fence *user_fence_create(struct xe_device *xe, u64 addr,
        struct xe_user_fence *ufence;
        u64 __user *ptr = u64_to_user_ptr(addr);
 
-       if (!access_ok(ptr, sizeof(ptr)))
+       if (!access_ok(ptr, sizeof(*ptr)))
                return ERR_PTR(-EFAULT);
 
        ufence = kmalloc(sizeof(*ufence), GFP_KERNEL);