Hi Felix,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm/drm-next drm-exynos/exynos-drm-next 
drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip 
linus/master v6.7-rc2 next-20231122]
[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/Felix-Kuehling/drm-prime-Helper-to-export-dmabuf-without-fd/20231122-071410
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20231121231114.703478-2-Felix.Kuehling%40amd.com
patch subject: [PATCH v2 2/4] drm/prime: Helper to export dmabuf without fd
config: alpha-allyesconfig 
(https://download.01.org/0day-ci/archive/20231122/202311221810.ij6elh6c-...@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231122/202311221810.ij6elh6c-...@intel.com/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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202311221810.ij6elh6c-...@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/drm_prime.c:428: warning: Excess function parameter 
>> 'dma_buf' description in 'drm_gem_prime_handle_to_dmabuf'


vim +428 drivers/gpu/drm/drm_prime.c

319c933c71f3db Daniel Vetter     2013-08-15  411  
d3977ac8e10a0b Felix Kuehling    2023-11-21  412  /**
f3facd92ee25e0 Felix Kuehling    2023-11-21  413   * 
drm_gem_prime_handle_to_dmabuf - PRIME export function for GEM drivers
39cc344acd414e Daniel Vetter     2014-01-22  414   * @dev: dev to export the 
buffer from
39cc344acd414e Daniel Vetter     2014-01-22  415   * @file_priv: drm 
file-private structure
39cc344acd414e Daniel Vetter     2014-01-22  416   * @handle: buffer handle to 
export
39cc344acd414e Daniel Vetter     2014-01-22  417   * @flags: flags like 
DRM_CLOEXEC
f3facd92ee25e0 Felix Kuehling    2023-11-21  418   * @dma_buf: pointer to 
storage for the dma-buf reference
39cc344acd414e Daniel Vetter     2014-01-22  419   *
39cc344acd414e Daniel Vetter     2014-01-22  420   * This is the PRIME export 
function which must be used mandatorily by GEM
39cc344acd414e Daniel Vetter     2014-01-22  421   * drivers to ensure correct 
lifetime management of the underlying GEM object.
39cc344acd414e Daniel Vetter     2014-01-22  422   * The actual exporting from 
GEM object to a dma-buf is done through the
d693def4fd1c23 Thomas Zimmermann 2020-09-23  423   * 
&drm_gem_object_funcs.export callback.
39cc344acd414e Daniel Vetter     2014-01-22  424   */
f3facd92ee25e0 Felix Kuehling    2023-11-21  425  struct dma_buf 
*drm_gem_prime_handle_to_dmabuf(struct drm_device *dev,
f3facd92ee25e0 Felix Kuehling    2023-11-21  426                                
               struct drm_file *file_priv,
f3facd92ee25e0 Felix Kuehling    2023-11-21  427                                
               uint32_t handle, uint32_t flags)
3248877ea17969 Dave Airlie       2011-11-25 @428  {
3248877ea17969 Dave Airlie       2011-11-25  429        struct drm_gem_object 
*obj;
219b47339ced80 Dave Airlie       2013-04-22  430        int ret = 0;
f3facd92ee25e0 Felix Kuehling    2023-11-21  431        struct dma_buf *dmabuf 
= NULL;
3248877ea17969 Dave Airlie       2011-11-25  432  
d0b2c5334f41bd Daniel Vetter     2013-08-15  433        
mutex_lock(&file_priv->prime.lock);
a8ad0bd84f9860 Chris Wilson      2016-05-09  434        obj = 
drm_gem_object_lookup(file_priv, handle);
d0b2c5334f41bd Daniel Vetter     2013-08-15  435        if (!obj)  {
d0b2c5334f41bd Daniel Vetter     2013-08-15  436                ret = -ENOENT;
d0b2c5334f41bd Daniel Vetter     2013-08-15  437                goto out_unlock;
d0b2c5334f41bd Daniel Vetter     2013-08-15  438        }
d0b2c5334f41bd Daniel Vetter     2013-08-15  439  
d0b2c5334f41bd Daniel Vetter     2013-08-15  440        dmabuf = 
drm_prime_lookup_buf_by_handle(&file_priv->prime, handle);
d0b2c5334f41bd Daniel Vetter     2013-08-15  441        if (dmabuf) {
d0b2c5334f41bd Daniel Vetter     2013-08-15  442                
get_dma_buf(dmabuf);
f3facd92ee25e0 Felix Kuehling    2023-11-21  443                goto out;
d0b2c5334f41bd Daniel Vetter     2013-08-15  444        }
3248877ea17969 Dave Airlie       2011-11-25  445  
d0b2c5334f41bd Daniel Vetter     2013-08-15  446        
mutex_lock(&dev->object_name_lock);
3248877ea17969 Dave Airlie       2011-11-25  447        /* re-export the 
original imported object */
3248877ea17969 Dave Airlie       2011-11-25  448        if (obj->import_attach) 
{
219b47339ced80 Dave Airlie       2013-04-22  449                dmabuf = 
obj->import_attach->dmabuf;
319c933c71f3db Daniel Vetter     2013-08-15  450                
get_dma_buf(dmabuf);
219b47339ced80 Dave Airlie       2013-04-22  451                goto 
out_have_obj;
3248877ea17969 Dave Airlie       2011-11-25  452        }
3248877ea17969 Dave Airlie       2011-11-25  453  
319c933c71f3db Daniel Vetter     2013-08-15  454        if (obj->dma_buf) {
319c933c71f3db Daniel Vetter     2013-08-15  455                
get_dma_buf(obj->dma_buf);
319c933c71f3db Daniel Vetter     2013-08-15  456                dmabuf = 
obj->dma_buf;
219b47339ced80 Dave Airlie       2013-04-22  457                goto 
out_have_obj;
219b47339ced80 Dave Airlie       2013-04-22  458        }
219b47339ced80 Dave Airlie       2013-04-22  459  
319c933c71f3db Daniel Vetter     2013-08-15  460        dmabuf = 
export_and_register_object(dev, obj, flags);
4332bf438bbbc3 Daniel Vetter     2013-08-15  461        if (IS_ERR(dmabuf)) {
3248877ea17969 Dave Airlie       2011-11-25  462                /* normally the 
created dma-buf takes ownership of the ref,
3248877ea17969 Dave Airlie       2011-11-25  463                 * but if that 
fails then drop the ref
3248877ea17969 Dave Airlie       2011-11-25  464                 */
4332bf438bbbc3 Daniel Vetter     2013-08-15  465                ret = 
PTR_ERR(dmabuf);
d0b2c5334f41bd Daniel Vetter     2013-08-15  466                
mutex_unlock(&dev->object_name_lock);
219b47339ced80 Dave Airlie       2013-04-22  467                goto out;
3248877ea17969 Dave Airlie       2011-11-25  468        }
219b47339ced80 Dave Airlie       2013-04-22  469  
d0b2c5334f41bd Daniel Vetter     2013-08-15  470  out_have_obj:
d0b2c5334f41bd Daniel Vetter     2013-08-15  471        /*
d0b2c5334f41bd Daniel Vetter     2013-08-15  472         * If we've exported 
this buffer then cheat and add it to the import list
d0b2c5334f41bd Daniel Vetter     2013-08-15  473         * so we get the 
correct handle back. We must do this under the
d0b2c5334f41bd Daniel Vetter     2013-08-15  474         * protection of 
dev->object_name_lock to ensure that a racing gem close
d0b2c5334f41bd Daniel Vetter     2013-08-15  475         * ioctl doesn't miss 
to remove this buffer handle from the cache.
0ff926c7d4f06f Dave Airlie       2012-05-20  476         */
219b47339ced80 Dave Airlie       2013-04-22  477        ret = 
drm_prime_add_buf_handle(&file_priv->prime,
319c933c71f3db Daniel Vetter     2013-08-15  478                                
       dmabuf, handle);
d0b2c5334f41bd Daniel Vetter     2013-08-15  479        
mutex_unlock(&dev->object_name_lock);
219b47339ced80 Dave Airlie       2013-04-22  480        if (ret)
4332bf438bbbc3 Daniel Vetter     2013-08-15  481                
dma_buf_put(dmabuf);
219b47339ced80 Dave Airlie       2013-04-22  482  out:
be6ee102341bc4 Emil Velikov      2020-05-15  483        drm_gem_object_put(obj);
d0b2c5334f41bd Daniel Vetter     2013-08-15  484  out_unlock:
d0b2c5334f41bd Daniel Vetter     2013-08-15  485        
mutex_unlock(&file_priv->prime.lock);
d0b2c5334f41bd Daniel Vetter     2013-08-15  486  
f3facd92ee25e0 Felix Kuehling    2023-11-21  487        return ret ? 
ERR_PTR(ret) : dmabuf;
b283e92a2315f9 Daniel Vetter     2019-06-18  488  }
f3facd92ee25e0 Felix Kuehling    2023-11-21  489  
EXPORT_SYMBOL(drm_gem_prime_handle_to_dmabuf);
b283e92a2315f9 Daniel Vetter     2019-06-18  490  

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

Reply via email to