dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Rohan Garg <rohan.garg@collabora.com>,
	dri-devel@lists.freedesktop.org
Cc: emil.l.velikov@gmail.com, kernel@collabora.com,
	kbuild-all@lists.01.org, lkp@intel.com
Subject: Re: [PATCH v6] drm/ioctl: Add a ioctl to set and get a label on GEM objects
Date: Tue, 2 Jun 2020 13:23:30 +0300	[thread overview]
Message-ID: <20200602102330.GY30374@kadam> (raw)
In-Reply-To: <20200528170604.22476-1-rohan.garg@collabora.com>

[-- Attachment #1: Type: text/plain, Size: 3278 bytes --]

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 <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

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   980  		      struct 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-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40684 bytes --]

[-- Attachment #3: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

      parent reply	other threads:[~2020-06-02 10:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-28 17:06 [PATCH v6] drm/ioctl: Add a ioctl to set and get a label on GEM objects Rohan Garg
2020-05-28 18:45 ` Eric Anholt
2020-05-29 13:44   ` Rohan Garg
2020-05-29 17:10     ` Eric Anholt
2020-06-09 14:15       ` Rohan Garg
2020-05-30 18:16 ` kbuild test robot
2020-05-31  1:56 ` kbuild test robot
2020-05-31  3:03 ` kbuild test robot
2020-06-02 10:23 ` Dan Carpenter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200602102330.GY30374@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    --cc=kernel@collabora.com \
    --cc=lkp@intel.com \
    --cc=rohan.garg@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox