Hi Tvrtko, kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next] [also build test WARNING on drm-tip/drm-tip next-20251107] [cannot apply to drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes linus/master v6.18-rc4] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Tvrtko-Ursulin/drm-gem-Use-vmemdup_array_user-in-drm_gem_objects_lookup/20251106-212028 base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20251106131926.28096-1-tvrtko.ursulin%40igalia.com patch subject: [PATCH] drm/gem: Use vmemdup_array_user in drm_gem_objects_lookup config: loongarch-randconfig-002-20251108 (https://download.01.org/0day-ci/archive/20251108/[email protected]/config) compiler: loongarch64-linux-gcc (GCC) 12.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251108/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): drivers/gpu/drm/drm_gem.c: In function 'drm_gem_objects_lookup': >> drivers/gpu/drm/drm_gem.c:786:28: warning: unused variable 'dev' >> [-Wunused-variable] 786 | struct drm_device *dev = filp->minor->dev; | ^~~ vim +/dev +786 drivers/gpu/drm/drm_gem.c c117aa4d8701a7 Rob Herring 2019-03-08 764 c117aa4d8701a7 Rob Herring 2019-03-08 765 /** c117aa4d8701a7 Rob Herring 2019-03-08 766 * drm_gem_objects_lookup - look up GEM objects from an array of handles c117aa4d8701a7 Rob Herring 2019-03-08 767 * @filp: DRM file private date c117aa4d8701a7 Rob Herring 2019-03-08 768 * @bo_handles: user pointer to array of userspace handle c117aa4d8701a7 Rob Herring 2019-03-08 769 * @count: size of handle array c117aa4d8701a7 Rob Herring 2019-03-08 770 * @objs_out: returned pointer to array of drm_gem_object pointers c117aa4d8701a7 Rob Herring 2019-03-08 771 * c117aa4d8701a7 Rob Herring 2019-03-08 772 * Takes an array of userspace handles and returns a newly allocated array of c117aa4d8701a7 Rob Herring 2019-03-08 773 * GEM objects. c117aa4d8701a7 Rob Herring 2019-03-08 774 * c117aa4d8701a7 Rob Herring 2019-03-08 775 * For a single handle lookup, use drm_gem_object_lookup(). c117aa4d8701a7 Rob Herring 2019-03-08 776 * c117aa4d8701a7 Rob Herring 2019-03-08 777 * Returns: c117aa4d8701a7 Rob Herring 2019-03-08 778 * @objs filled in with GEM object pointers. Returned GEM objects need to be be6ee102341bc4 Emil Velikov 2020-05-15 779 * released with drm_gem_object_put(). -ENOENT is returned on a lookup c117aa4d8701a7 Rob Herring 2019-03-08 780 * failure. 0 is returned on success. c117aa4d8701a7 Rob Herring 2019-03-08 781 * c117aa4d8701a7 Rob Herring 2019-03-08 782 */ c117aa4d8701a7 Rob Herring 2019-03-08 783 int drm_gem_objects_lookup(struct drm_file *filp, void __user *bo_handles, c117aa4d8701a7 Rob Herring 2019-03-08 784 int count, struct drm_gem_object ***objs_out) c117aa4d8701a7 Rob Herring 2019-03-08 785 { e5e0350d5d1ab0 Athul Raj Kollareth 2025-09-02 @786 struct drm_device *dev = filp->minor->dev; c117aa4d8701a7 Rob Herring 2019-03-08 787 struct drm_gem_object **objs; e5e0350d5d1ab0 Athul Raj Kollareth 2025-09-02 788 u32 *handles; e5e0350d5d1ab0 Athul Raj Kollareth 2025-09-02 789 int ret; c117aa4d8701a7 Rob Herring 2019-03-08 790 c117aa4d8701a7 Rob Herring 2019-03-08 791 if (!count) c117aa4d8701a7 Rob Herring 2019-03-08 792 return 0; c117aa4d8701a7 Rob Herring 2019-03-08 793 c117aa4d8701a7 Rob Herring 2019-03-08 794 objs = kvmalloc_array(count, sizeof(struct drm_gem_object *), c117aa4d8701a7 Rob Herring 2019-03-08 795 GFP_KERNEL | __GFP_ZERO); c117aa4d8701a7 Rob Herring 2019-03-08 796 if (!objs) c117aa4d8701a7 Rob Herring 2019-03-08 797 return -ENOMEM; c117aa4d8701a7 Rob Herring 2019-03-08 798 ec0bb482de0ad5 Dan Carpenter 2020-03-20 799 *objs_out = objs; ec0bb482de0ad5 Dan Carpenter 2020-03-20 800 50c1d127a2aa88 Tvrtko Ursulin 2025-11-06 801 handles = vmemdup_array_user(bo_handles, count, sizeof(u32)); 50c1d127a2aa88 Tvrtko Ursulin 2025-11-06 802 if (IS_ERR(handles)) { 50c1d127a2aa88 Tvrtko Ursulin 2025-11-06 803 ret = PTR_ERR(handles); c117aa4d8701a7 Rob Herring 2019-03-08 804 goto out; c117aa4d8701a7 Rob Herring 2019-03-08 805 } c117aa4d8701a7 Rob Herring 2019-03-08 806 c117aa4d8701a7 Rob Herring 2019-03-08 807 ret = objects_lookup(filp, handles, count, objs); c117aa4d8701a7 Rob Herring 2019-03-08 808 out: c117aa4d8701a7 Rob Herring 2019-03-08 809 kvfree(handles); c117aa4d8701a7 Rob Herring 2019-03-08 810 return ret; c117aa4d8701a7 Rob Herring 2019-03-08 811 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
