Hi Rob,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm/drm-next]
[also build test WARNING on drm-i915/for-linux-next 
drm-i915/for-linux-next-fixes drm-tip/drm-tip linus/master v7.3 next-20261026]
[cannot apply to drm-misc/drm-misc-next daeinki-drm-exynos/exynos-drm-next]
[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/Rob-Clark/drm-msm-gem-Add-some-cleanup-h/20261026-143700
base:   https://gitlab.freedesktop.org/drm/kernel.git drm-next
patch link:    
https://lore.kernel.org/r/20261026213701.22126-1-robin.clark%40oss.qualcomm.com
patch subject: [PATCH] drm/msm/gem: Add some cleanup.h
config: x86_64-buildonly-randconfig-1005-20261027 
(https://download.01.org/0day-ci/archive/20261027/[email protected]/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project 
ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20261027/[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/msm/msm_drv.c:613:13: warning: variable 'ret' is used 
>> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
     613 |         } else if (copy_to_user(metadata, buf, len)) {
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/msm/msm_drv.c:621:9: note: uninitialized use occurs here
     621 |         return ret;
         |                ^~~
   drivers/gpu/drm/msm/msm_drv.c:613:9: note: remove the 'if' if its condition 
is always true
     613 |         } else if (copy_to_user(metadata, buf, len)) {
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     614 |                 ret = -EFAULT;
     615 |         } else {
         |           ~~~~~~
     616 |                 *metadata_size = len;
         |                 ~~~~~~~~~~~~~~~~~~~~~
     617 |         }
         |         ~
   drivers/gpu/drm/msm/msm_drv.c:588:9: note: initialize the variable 'ret' to 
silence this warning
     588 |         int ret, len;
         |                ^
         |                 = 0
   1 warning generated.


vim +613 drivers/gpu/drm/msm/msm_drv.c

9902cb999e4e91 Rob Clark        2023-11-06  581  
9902cb999e4e91 Rob Clark        2023-11-06  582  static int 
msm_ioctl_gem_info_get_metadata(struct drm_gem_object *obj,
9902cb999e4e91 Rob Clark        2023-11-06  583                                 
           __user void *metadata,
9902cb999e4e91 Rob Clark        2023-11-06  584                                 
           u32 *metadata_size)
9902cb999e4e91 Rob Clark        2023-11-06  585  {
9902cb999e4e91 Rob Clark        2023-11-06  586         struct msm_gem_object 
*msm_obj = to_msm_bo(obj);
9902cb999e4e91 Rob Clark        2023-11-06  587         void *buf;
9902cb999e4e91 Rob Clark        2023-11-06  588         int ret, len;
9902cb999e4e91 Rob Clark        2023-11-06  589  
9902cb999e4e91 Rob Clark        2023-11-06  590         if (!metadata) {
9902cb999e4e91 Rob Clark        2023-11-06  591                 /*
9902cb999e4e91 Rob Clark        2023-11-06  592                  * Querying the 
size is inherently racey, but
9902cb999e4e91 Rob Clark        2023-11-06  593                  * 
EXT_external_objects expects the app to confirm
9902cb999e4e91 Rob Clark        2023-11-06  594                  * via device 
and driver UUIDs that the exporter and
9902cb999e4e91 Rob Clark        2023-11-06  595                  * importer 
versions match.  All we can do from the
9902cb999e4e91 Rob Clark        2023-11-06  596                  * kernel side 
is check the length under obj lock
9902cb999e4e91 Rob Clark        2023-11-06  597                  * when 
userspace tries to retrieve the metadata
9902cb999e4e91 Rob Clark        2023-11-06  598                  */
9902cb999e4e91 Rob Clark        2023-11-06  599                 *metadata_size 
= msm_obj->metadata_size;
9902cb999e4e91 Rob Clark        2023-11-06  600                 return 0;
9902cb999e4e91 Rob Clark        2023-11-06  601         }
9902cb999e4e91 Rob Clark        2023-11-06  602  
fec06716d04d17 Rob Clark        2026-10-26  603         scoped_cond_guard 
(gem_lock_intr, return -EINTR, obj) {
fec06716d04d17 Rob Clark        2026-10-26  604                 /* Avoid 
copy_to_user() under gem obj lock by making a copy: */
9902cb999e4e91 Rob Clark        2023-11-06  605                 len = 
msm_obj->metadata_size;
9902cb999e4e91 Rob Clark        2023-11-06  606                 buf = 
kmemdup(msm_obj->metadata, len, GFP_KERNEL);
fec06716d04d17 Rob Clark        2026-10-26  607                 if (!buf)
47cbfe2608314b Yasuaki Torimaru 2026-03-25  608                         return 
-ENOMEM;
47cbfe2608314b Yasuaki Torimaru 2026-03-25  609         }
47cbfe2608314b Yasuaki Torimaru 2026-03-25  610  
9902cb999e4e91 Rob Clark        2023-11-06  611         if (*metadata_size < 
len) {
9902cb999e4e91 Rob Clark        2023-11-06  612                 ret = 
-ETOOSMALL;
9902cb999e4e91 Rob Clark        2023-11-06 @613         } else if 
(copy_to_user(metadata, buf, len)) {
9902cb999e4e91 Rob Clark        2023-11-06  614                 ret = -EFAULT;
9902cb999e4e91 Rob Clark        2023-11-06  615         } else {
9902cb999e4e91 Rob Clark        2023-11-06  616                 *metadata_size 
= len;
9902cb999e4e91 Rob Clark        2023-11-06  617         }
9902cb999e4e91 Rob Clark        2023-11-06  618  
9902cb999e4e91 Rob Clark        2023-11-06  619         kfree(buf);
9902cb999e4e91 Rob Clark        2023-11-06  620  
47cbfe2608314b Yasuaki Torimaru 2026-03-25  621         return ret;
9902cb999e4e91 Rob Clark        2023-11-06  622  }
9902cb999e4e91 Rob Clark        2023-11-06  623  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to