All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael S. Tsirkin <mst@redhat.com>
To: kbuild-all@lists.01.org
Subject: Re: drivers/vdpa/vdpa.c:296 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type?
Date: Thu, 25 Nov 2021 11:15:35 -0500	[thread overview]
Message-ID: <20211125111511-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <202111250317.VUsGtdox-lkp@intel.com>

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

On Thu, Nov 25, 2021 at 10:03:28AM +0300, Dan Carpenter wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   5d9f4cf36721aba199975a9be7863a3ff5cd4b59
> commit: 33b347503f014ebf76257327cbc7001c6b721956 vdpa: Define vdpa mgmt device, ops and a netlink interface
> config: i386-randconfig-m021-20211118 (https://download.01.org/0day-ci/archive/20211125/202111250317.VUsGtdox-lkp(a)intel.com/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> smatch warnings:
> drivers/vdpa/vdpa.c:296 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type?
> 
> vim +296 drivers/vdpa/vdpa.c
> 
> 33b347503f014eb Parav Pandit 2021-01-05  280  static int vdpa_mgmtdev_fill(const struct vdpa_mgmt_dev *mdev, struct sk_buff *msg,
> 33b347503f014eb Parav Pandit 2021-01-05  281  			     u32 portid, u32 seq, int flags)
> 33b347503f014eb Parav Pandit 2021-01-05  282  {
> 33b347503f014eb Parav Pandit 2021-01-05  283  	u64 supported_classes = 0;
>                                                 ^^^^^^^^^^^^^^^^^^^^^
> This is a u64
> 
> 33b347503f014eb Parav Pandit 2021-01-05  284  	void *hdr;
> 33b347503f014eb Parav Pandit 2021-01-05  285  	int i = 0;
> 33b347503f014eb Parav Pandit 2021-01-05  286  	int err;
> 33b347503f014eb Parav Pandit 2021-01-05  287  
> 33b347503f014eb Parav Pandit 2021-01-05  288  	hdr = genlmsg_put(msg, portid, seq, &vdpa_nl_family, flags, VDPA_CMD_MGMTDEV_NEW);
> 33b347503f014eb Parav Pandit 2021-01-05  289  	if (!hdr)
> 33b347503f014eb Parav Pandit 2021-01-05  290  		return -EMSGSIZE;
> 33b347503f014eb Parav Pandit 2021-01-05  291  	err = vdpa_nl_mgmtdev_handle_fill(msg, mdev);
> 33b347503f014eb Parav Pandit 2021-01-05  292  	if (err)
> 33b347503f014eb Parav Pandit 2021-01-05  293  		goto msg_err;
> 33b347503f014eb Parav Pandit 2021-01-05  294  
> 33b347503f014eb Parav Pandit 2021-01-05  295  	while (mdev->id_table[i].device) {
> 33b347503f014eb Parav Pandit 2021-01-05 @296  		supported_classes |= BIT(mdev->id_table[i].device);
> 
> Which suggests that this should be BIT_ULL().
> 
> 33b347503f014eb Parav Pandit 2021-01-05  297  		i++;
> 33b347503f014eb Parav Pandit 2021-01-05  298  	}
> 33b347503f014eb Parav Pandit 2021-01-05  299  
> 33b347503f014eb Parav Pandit 2021-01-05  300  	if (nla_put_u64_64bit(msg, VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES,
> 33b347503f014eb Parav Pandit 2021-01-05  301  			      supported_classes, VDPA_ATTR_UNSPEC)) {
> 33b347503f014eb Parav Pandit 2021-01-05  302  		err = -EMSGSIZE;
> 33b347503f014eb Parav Pandit 2021-01-05  303  		goto msg_err;
> 33b347503f014eb Parav Pandit 2021-01-05  304  	}
> 33b347503f014eb Parav Pandit 2021-01-05  305  
> 33b347503f014eb Parav Pandit 2021-01-05  306  	genlmsg_end(msg, hdr);
> 33b347503f014eb Parav Pandit 2021-01-05  307  	return 0;
> 33b347503f014eb Parav Pandit 2021-01-05  308  
> 33b347503f014eb Parav Pandit 2021-01-05  309  msg_err:
> 33b347503f014eb Parav Pandit 2021-01-05  310  	genlmsg_cancel(msg, hdr);
> 33b347503f014eb Parav Pandit 2021-01-05  311  	return err;
> 33b347503f014eb Parav Pandit 2021-01-05  312  }


Parav? Any patches for this one?

> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: kbuild@lists.01.org, Parav Pandit <parav@nvidia.com>,
	lkp@intel.com, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, Eli Cohen <elic@nvidia.com>,
	Jason Wang <jasowang@redhat.com>,
	Eric Dumazet <edumazet@google.com>
Subject: Re: drivers/vdpa/vdpa.c:296 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type?
Date: Thu, 25 Nov 2021 11:15:35 -0500	[thread overview]
Message-ID: <20211125111511-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <202111250317.VUsGtdox-lkp@intel.com>

On Thu, Nov 25, 2021 at 10:03:28AM +0300, Dan Carpenter wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   5d9f4cf36721aba199975a9be7863a3ff5cd4b59
> commit: 33b347503f014ebf76257327cbc7001c6b721956 vdpa: Define vdpa mgmt device, ops and a netlink interface
> config: i386-randconfig-m021-20211118 (https://download.01.org/0day-ci/archive/20211125/202111250317.VUsGtdox-lkp@intel.com/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> smatch warnings:
> drivers/vdpa/vdpa.c:296 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type?
> 
> vim +296 drivers/vdpa/vdpa.c
> 
> 33b347503f014eb Parav Pandit 2021-01-05  280  static int vdpa_mgmtdev_fill(const struct vdpa_mgmt_dev *mdev, struct sk_buff *msg,
> 33b347503f014eb Parav Pandit 2021-01-05  281  			     u32 portid, u32 seq, int flags)
> 33b347503f014eb Parav Pandit 2021-01-05  282  {
> 33b347503f014eb Parav Pandit 2021-01-05  283  	u64 supported_classes = 0;
>                                                 ^^^^^^^^^^^^^^^^^^^^^
> This is a u64
> 
> 33b347503f014eb Parav Pandit 2021-01-05  284  	void *hdr;
> 33b347503f014eb Parav Pandit 2021-01-05  285  	int i = 0;
> 33b347503f014eb Parav Pandit 2021-01-05  286  	int err;
> 33b347503f014eb Parav Pandit 2021-01-05  287  
> 33b347503f014eb Parav Pandit 2021-01-05  288  	hdr = genlmsg_put(msg, portid, seq, &vdpa_nl_family, flags, VDPA_CMD_MGMTDEV_NEW);
> 33b347503f014eb Parav Pandit 2021-01-05  289  	if (!hdr)
> 33b347503f014eb Parav Pandit 2021-01-05  290  		return -EMSGSIZE;
> 33b347503f014eb Parav Pandit 2021-01-05  291  	err = vdpa_nl_mgmtdev_handle_fill(msg, mdev);
> 33b347503f014eb Parav Pandit 2021-01-05  292  	if (err)
> 33b347503f014eb Parav Pandit 2021-01-05  293  		goto msg_err;
> 33b347503f014eb Parav Pandit 2021-01-05  294  
> 33b347503f014eb Parav Pandit 2021-01-05  295  	while (mdev->id_table[i].device) {
> 33b347503f014eb Parav Pandit 2021-01-05 @296  		supported_classes |= BIT(mdev->id_table[i].device);
> 
> Which suggests that this should be BIT_ULL().
> 
> 33b347503f014eb Parav Pandit 2021-01-05  297  		i++;
> 33b347503f014eb Parav Pandit 2021-01-05  298  	}
> 33b347503f014eb Parav Pandit 2021-01-05  299  
> 33b347503f014eb Parav Pandit 2021-01-05  300  	if (nla_put_u64_64bit(msg, VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES,
> 33b347503f014eb Parav Pandit 2021-01-05  301  			      supported_classes, VDPA_ATTR_UNSPEC)) {
> 33b347503f014eb Parav Pandit 2021-01-05  302  		err = -EMSGSIZE;
> 33b347503f014eb Parav Pandit 2021-01-05  303  		goto msg_err;
> 33b347503f014eb Parav Pandit 2021-01-05  304  	}
> 33b347503f014eb Parav Pandit 2021-01-05  305  
> 33b347503f014eb Parav Pandit 2021-01-05  306  	genlmsg_end(msg, hdr);
> 33b347503f014eb Parav Pandit 2021-01-05  307  	return 0;
> 33b347503f014eb Parav Pandit 2021-01-05  308  
> 33b347503f014eb Parav Pandit 2021-01-05  309  msg_err:
> 33b347503f014eb Parav Pandit 2021-01-05  310  	genlmsg_cancel(msg, hdr);
> 33b347503f014eb Parav Pandit 2021-01-05  311  	return err;
> 33b347503f014eb Parav Pandit 2021-01-05  312  }


Parav? Any patches for this one?

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


  reply	other threads:[~2021-11-25 16:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 19:58 drivers/vdpa/vdpa.c:296 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type? kernel test robot
2021-11-25  7:03 ` Dan Carpenter
2021-11-25  7:03 ` Dan Carpenter
2021-11-25 16:15 ` Michael S. Tsirkin [this message]
2021-11-25 16:15   ` Michael S. Tsirkin
2021-11-25 16:52   ` Joe Perches
2021-11-25 16:52     ` Joe Perches
2021-11-25 17:33     ` Parav Pandit
2021-11-25 17:33     ` Parav Pandit
2021-11-25 17:39   ` Parav Pandit
2021-11-25 17:39   ` Parav Pandit

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=20211125111511-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=kbuild-all@lists.01.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.