All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/vdpa/vdpa.c:382 vdpa_nl_cmd_mgmtdev_get_doit() warn: passing a valid pointer to 'PTR_ERR'
@ 2021-08-04 20:10 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-04 20:10 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Julian Braha <julianbraha@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

Hi Julian,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d5ad8ec3cfb56a017de6a784835666475b4be349
commit: 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
date:   4 months ago
:::::: branch date: 28 hours ago
:::::: commit date: 4 months ago
config: csky-randconfig-m031-20210804 (attached as .config)
compiler: csky-linux-gcc (GCC) 10.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>

New smatch warnings:
drivers/vdpa/vdpa.c:382 vdpa_nl_cmd_mgmtdev_get_doit() warn: passing a valid pointer to 'PTR_ERR'
drivers/vdpa/vdpa.c:439 vdpa_nl_cmd_dev_add_set_doit() warn: passing a valid pointer to 'PTR_ERR'

Old smatch warnings:
drivers/vdpa/vdpa.c:349 vdpa_mgmtdev_fill() warn: should '(((1))) << (mdev->id_table[i]->device)' be a 64 bit type?

vim +/PTR_ERR +382 drivers/vdpa/vdpa.c

33b347503f014e Parav Pandit 2021-01-05  366  
33b347503f014e Parav Pandit 2021-01-05  367  static int vdpa_nl_cmd_mgmtdev_get_doit(struct sk_buff *skb, struct genl_info *info)
33b347503f014e Parav Pandit 2021-01-05  368  {
33b347503f014e Parav Pandit 2021-01-05  369  	struct vdpa_mgmt_dev *mdev;
33b347503f014e Parav Pandit 2021-01-05  370  	struct sk_buff *msg;
33b347503f014e Parav Pandit 2021-01-05  371  	int err;
33b347503f014e Parav Pandit 2021-01-05  372  
33b347503f014e Parav Pandit 2021-01-05  373  	msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
33b347503f014e Parav Pandit 2021-01-05  374  	if (!msg)
33b347503f014e Parav Pandit 2021-01-05  375  		return -ENOMEM;
33b347503f014e Parav Pandit 2021-01-05  376  
33b347503f014e Parav Pandit 2021-01-05  377  	mutex_lock(&vdpa_dev_mutex);
33b347503f014e Parav Pandit 2021-01-05  378  	mdev = vdpa_mgmtdev_get_from_attr(info->attrs);
33b347503f014e Parav Pandit 2021-01-05  379  	if (IS_ERR(mdev)) {
33b347503f014e Parav Pandit 2021-01-05  380  		mutex_unlock(&vdpa_dev_mutex);
33b347503f014e Parav Pandit 2021-01-05  381  		NL_SET_ERR_MSG_MOD(info->extack, "Fail to find the specified mgmt device");
33b347503f014e Parav Pandit 2021-01-05 @382  		err = PTR_ERR(mdev);
33b347503f014e Parav Pandit 2021-01-05  383  		goto out;
33b347503f014e Parav Pandit 2021-01-05  384  	}
33b347503f014e Parav Pandit 2021-01-05  385  
33b347503f014e Parav Pandit 2021-01-05  386  	err = vdpa_mgmtdev_fill(mdev, msg, info->snd_portid, info->snd_seq, 0);
33b347503f014e Parav Pandit 2021-01-05  387  	mutex_unlock(&vdpa_dev_mutex);
33b347503f014e Parav Pandit 2021-01-05  388  	if (err)
33b347503f014e Parav Pandit 2021-01-05  389  		goto out;
33b347503f014e Parav Pandit 2021-01-05  390  	err = genlmsg_reply(msg, info);
33b347503f014e Parav Pandit 2021-01-05  391  	return err;
33b347503f014e Parav Pandit 2021-01-05  392  
33b347503f014e Parav Pandit 2021-01-05  393  out:
33b347503f014e Parav Pandit 2021-01-05  394  	nlmsg_free(msg);
33b347503f014e Parav Pandit 2021-01-05  395  	return err;
33b347503f014e Parav Pandit 2021-01-05  396  }
33b347503f014e Parav Pandit 2021-01-05  397  
33b347503f014e Parav Pandit 2021-01-05  398  static int
33b347503f014e Parav Pandit 2021-01-05  399  vdpa_nl_cmd_mgmtdev_get_dumpit(struct sk_buff *msg, struct netlink_callback *cb)
33b347503f014e Parav Pandit 2021-01-05  400  {
33b347503f014e Parav Pandit 2021-01-05  401  	struct vdpa_mgmt_dev *mdev;
33b347503f014e Parav Pandit 2021-01-05  402  	int start = cb->args[0];
33b347503f014e Parav Pandit 2021-01-05  403  	int idx = 0;
33b347503f014e Parav Pandit 2021-01-05  404  	int err;
33b347503f014e Parav Pandit 2021-01-05  405  
33b347503f014e Parav Pandit 2021-01-05  406  	mutex_lock(&vdpa_dev_mutex);
33b347503f014e Parav Pandit 2021-01-05  407  	list_for_each_entry(mdev, &mdev_head, list) {
33b347503f014e Parav Pandit 2021-01-05  408  		if (idx < start) {
33b347503f014e Parav Pandit 2021-01-05  409  			idx++;
33b347503f014e Parav Pandit 2021-01-05  410  			continue;
33b347503f014e Parav Pandit 2021-01-05  411  		}
33b347503f014e Parav Pandit 2021-01-05  412  		err = vdpa_mgmtdev_fill(mdev, msg, NETLINK_CB(cb->skb).portid,
33b347503f014e Parav Pandit 2021-01-05  413  					cb->nlh->nlmsg_seq, NLM_F_MULTI);
33b347503f014e Parav Pandit 2021-01-05  414  		if (err)
33b347503f014e Parav Pandit 2021-01-05  415  			goto out;
33b347503f014e Parav Pandit 2021-01-05  416  		idx++;
33b347503f014e Parav Pandit 2021-01-05  417  	}
33b347503f014e Parav Pandit 2021-01-05  418  out:
33b347503f014e Parav Pandit 2021-01-05  419  	mutex_unlock(&vdpa_dev_mutex);
33b347503f014e Parav Pandit 2021-01-05  420  	cb->args[0] = idx;
33b347503f014e Parav Pandit 2021-01-05  421  	return msg->len;
33b347503f014e Parav Pandit 2021-01-05  422  }
33b347503f014e Parav Pandit 2021-01-05  423  
903f7bcaedb84c Parav Pandit 2021-01-05  424  static int vdpa_nl_cmd_dev_add_set_doit(struct sk_buff *skb, struct genl_info *info)
903f7bcaedb84c Parav Pandit 2021-01-05  425  {
903f7bcaedb84c Parav Pandit 2021-01-05  426  	struct vdpa_mgmt_dev *mdev;
903f7bcaedb84c Parav Pandit 2021-01-05  427  	const char *name;
903f7bcaedb84c Parav Pandit 2021-01-05  428  	int err = 0;
903f7bcaedb84c Parav Pandit 2021-01-05  429  
903f7bcaedb84c Parav Pandit 2021-01-05  430  	if (!info->attrs[VDPA_ATTR_DEV_NAME])
903f7bcaedb84c Parav Pandit 2021-01-05  431  		return -EINVAL;
903f7bcaedb84c Parav Pandit 2021-01-05  432  
903f7bcaedb84c Parav Pandit 2021-01-05  433  	name = nla_data(info->attrs[VDPA_ATTR_DEV_NAME]);
903f7bcaedb84c Parav Pandit 2021-01-05  434  
903f7bcaedb84c Parav Pandit 2021-01-05  435  	mutex_lock(&vdpa_dev_mutex);
903f7bcaedb84c Parav Pandit 2021-01-05  436  	mdev = vdpa_mgmtdev_get_from_attr(info->attrs);
903f7bcaedb84c Parav Pandit 2021-01-05  437  	if (IS_ERR(mdev)) {
903f7bcaedb84c Parav Pandit 2021-01-05  438  		NL_SET_ERR_MSG_MOD(info->extack, "Fail to find the specified management device");
903f7bcaedb84c Parav Pandit 2021-01-05 @439  		err = PTR_ERR(mdev);
903f7bcaedb84c Parav Pandit 2021-01-05  440  		goto err;
903f7bcaedb84c Parav Pandit 2021-01-05  441  	}
903f7bcaedb84c Parav Pandit 2021-01-05  442  
903f7bcaedb84c Parav Pandit 2021-01-05  443  	err = mdev->ops->dev_add(mdev, name);
903f7bcaedb84c Parav Pandit 2021-01-05  444  err:
903f7bcaedb84c Parav Pandit 2021-01-05  445  	mutex_unlock(&vdpa_dev_mutex);
903f7bcaedb84c Parav Pandit 2021-01-05  446  	return err;
903f7bcaedb84c Parav Pandit 2021-01-05  447  }
903f7bcaedb84c Parav Pandit 2021-01-05  448  

:::::: The code at line 382 was first introduced by commit
:::::: 33b347503f014ebf76257327cbc7001c6b721956 vdpa: Define vdpa mgmt device, ops and a netlink interface

:::::: TO: Parav Pandit <parav@nvidia.com>
:::::: CC: Michael S. Tsirkin <mst@redhat.com>

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

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-04 20:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 20:10 drivers/vdpa/vdpa.c:382 vdpa_nl_cmd_mgmtdev_get_doit() warn: passing a valid pointer to 'PTR_ERR' kernel test robot

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.