* 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.