[kbuild] Re: [PATCH v6] drm/ioctl: Add a ioctl to set and get a label on GEM objects
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(&gem_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(&gem_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
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(&gem_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(&gem_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