[kbuild] Re: [PATCH v6] drm/ioctl: Add a ioctl to set and get a label on GEM objects

2020-06-02 Thread Dan Carpenter
Hi Rohan,

url:
https://github.com/0day-ci/linux/commits/Rohan-Garg/drm-ioctl-Add-a-ioctl-to-set-and-get-a-label-on-GEM-objects/20200531-000134
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git 
exynos-drm-next
config: i386-randconfig-m021-20200531 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 
Reported-by: Dan Carpenter 

New smatch warnings:
drivers/gpu/drm/drm_gem.c:1004 drm_gem_get_label() warn: maybe return -EFAULT 
instead of the bytes remaining?

Old smatch warnings:
drivers/gpu/drm/drm_gem.c:910 drm_gem_open_ioctl() warn: inconsistent returns 
'dev->object_name_lock'.

# 
https://github.com/0day-ci/linux/commit/174b10d2bdba06efe773aa0d09e682a57a00ec67
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 174b10d2bdba06efe773aa0d09e682a57a00ec67
vim +1004 drivers/gpu/drm/drm_gem.c

174b10d2bdba06 Rohan Garg 2020-05-28   979  int drm_gem_get_label(struct 
drm_device *dev, struct drm_file *file_priv,
174b10d2bdba06 Rohan Garg 2020-05-28   980struct 
drm_handle_label *args)
174b10d2bdba06 Rohan Garg 2020-05-28   981  {
174b10d2bdba06 Rohan Garg 2020-05-28   982  struct drm_gem_object *gem_obj;
174b10d2bdba06 Rohan Garg 2020-05-28   983  int len, ret;
174b10d2bdba06 Rohan Garg 2020-05-28   984  
174b10d2bdba06 Rohan Garg 2020-05-28   985  gem_obj = 
drm_gem_object_lookup(file_priv, args->handle);
174b10d2bdba06 Rohan Garg 2020-05-28   986  if (!gem_obj) {
174b10d2bdba06 Rohan Garg 2020-05-28   987  DRM_DEBUG("Failed to 
look up GEM BO %d\n", args->handle);
174b10d2bdba06 Rohan Garg 2020-05-28   988  return -ENOENT;
174b10d2bdba06 Rohan Garg 2020-05-28   989  }
174b10d2bdba06 Rohan Garg 2020-05-28   990  
174b10d2bdba06 Rohan Garg 2020-05-28   991  if (!gem_obj->label) {
174b10d2bdba06 Rohan Garg 2020-05-28   992  args->label = NULL;
174b10d2bdba06 Rohan Garg 2020-05-28   993  args->len = 0;
174b10d2bdba06 Rohan Garg 2020-05-28   994  return 0;
174b10d2bdba06 Rohan Garg 2020-05-28   995  }
174b10d2bdba06 Rohan Garg 2020-05-28   996  
174b10d2bdba06 Rohan Garg 2020-05-28   997  mutex_lock(_obj->bo_lock);
174b10d2bdba06 Rohan Garg 2020-05-28   998  len = strlen(gem_obj->label);
174b10d2bdba06 Rohan Garg 2020-05-28   999  ret = 
copy_to_user(u64_to_user_ptr(args->label), gem_obj->label,
174b10d2bdba06 Rohan Garg 2020-05-28  1000 
min(args->len, len));

copy_to_user() returns the number of bytes remaining to be copied but
this should be:

if (copy_to_user(u64_to_user_ptr(args->label), gem_obj->label,
 min(args->len, len)))
ret = -EFAULT;

Don't forget to initialize "int ret = 0;" because GCC doesn't warn about
it these days...  :/

174b10d2bdba06 Rohan Garg 2020-05-28  1001  mutex_unlock(_obj->bo_lock);
174b10d2bdba06 Rohan Garg 2020-05-28  1002  args->len = len;
174b10d2bdba06 Rohan Garg 2020-05-28  1003  drm_gem_object_put(gem_obj);
174b10d2bdba06 Rohan Garg 2020-05-28 @1004  return ret;
174b10d2bdba06 Rohan Garg 2020-05-28  1005  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org


.config.gz
Description: application/gzip
___
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org


[kbuild] Re: [PATCH v6] drm/ioctl: Add a ioctl to set and get a label on GEM objects

2020-05-31 Thread kbuild test robot
CC: kbuild-...@lists.01.org
In-Reply-To: <20200528170604.22476-1-rohan.g...@collabora.com>
References: <20200528170604.22476-1-rohan.g...@collabora.com>
TO: Rohan Garg 
TO: dri-de...@lists.freedesktop.org
CC: ker...@collabora.com
CC: emil.l.veli...@gmail.com

Hi Rohan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-exynos/exynos-drm-next]
[also build test WARNING on drm-intel/for-linux-next 
tegra-drm/drm/tegra/for-next drm-tip/drm-tip linus/master v5.7-rc7 
next-20200529]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Rohan-Garg/drm-ioctl-Add-a-ioctl-to-set-and-get-a-label-on-GEM-objects/20200531-000134
base:   https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git 
exynos-drm-next
:: branch date: 16 hours ago
:: commit date: 16 hours ago
config: i386-randconfig-m021-20200531 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot 
Reported-by: Dan Carpenter 

New smatch warnings:
drivers/gpu/drm/drm_gem.c:1004 drm_gem_get_label() warn: maybe return -EFAULT 
instead of the bytes remaining?

Old smatch warnings:
drivers/gpu/drm/drm_gem.c:910 drm_gem_open_ioctl() warn: inconsistent returns 
'dev->object_name_lock'.

# 
https://github.com/0day-ci/linux/commit/174b10d2bdba06efe773aa0d09e682a57a00ec67
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 174b10d2bdba06efe773aa0d09e682a57a00ec67
vim +1004 drivers/gpu/drm/drm_gem.c

174b10d2bdba06 Rohan Garg 2020-05-28   978  
174b10d2bdba06 Rohan Garg 2020-05-28   979  int drm_gem_get_label(struct 
drm_device *dev, struct drm_file *file_priv,
174b10d2bdba06 Rohan Garg 2020-05-28   980struct 
drm_handle_label *args)
174b10d2bdba06 Rohan Garg 2020-05-28   981  {
174b10d2bdba06 Rohan Garg 2020-05-28   982  struct drm_gem_object *gem_obj;
174b10d2bdba06 Rohan Garg 2020-05-28   983  int len, ret;
174b10d2bdba06 Rohan Garg 2020-05-28   984  
174b10d2bdba06 Rohan Garg 2020-05-28   985  gem_obj = 
drm_gem_object_lookup(file_priv, args->handle);
174b10d2bdba06 Rohan Garg 2020-05-28   986  if (!gem_obj) {
174b10d2bdba06 Rohan Garg 2020-05-28   987  DRM_DEBUG("Failed to 
look up GEM BO %d\n", args->handle);
174b10d2bdba06 Rohan Garg 2020-05-28   988  return -ENOENT;
174b10d2bdba06 Rohan Garg 2020-05-28   989  }
174b10d2bdba06 Rohan Garg 2020-05-28   990  
174b10d2bdba06 Rohan Garg 2020-05-28   991  if (!gem_obj->label) {
174b10d2bdba06 Rohan Garg 2020-05-28   992  args->label = NULL;
174b10d2bdba06 Rohan Garg 2020-05-28   993  args->len = 0;
174b10d2bdba06 Rohan Garg 2020-05-28   994  return 0;
174b10d2bdba06 Rohan Garg 2020-05-28   995  }
174b10d2bdba06 Rohan Garg 2020-05-28   996  
174b10d2bdba06 Rohan Garg 2020-05-28   997  mutex_lock(_obj->bo_lock);
174b10d2bdba06 Rohan Garg 2020-05-28   998  len = strlen(gem_obj->label);
174b10d2bdba06 Rohan Garg 2020-05-28   999  ret = 
copy_to_user(u64_to_user_ptr(args->label), gem_obj->label,
174b10d2bdba06 Rohan Garg 2020-05-28  1000 
min(args->len, len));
174b10d2bdba06 Rohan Garg 2020-05-28  1001  mutex_unlock(_obj->bo_lock);
174b10d2bdba06 Rohan Garg 2020-05-28  1002  args->len = len;
174b10d2bdba06 Rohan Garg 2020-05-28  1003  drm_gem_object_put(gem_obj);
174b10d2bdba06 Rohan Garg 2020-05-28 @1004  return ret;
174b10d2bdba06 Rohan Garg 2020-05-28  1005  }
174b10d2bdba06 Rohan Garg 2020-05-28  1006  EXPORT_SYMBOL(drm_gem_get_label);
174b10d2bdba06 Rohan Garg 2020-05-28  1007  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org


.config.gz
Description: application/gzip
___
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org