CC: [email protected]
CC: [email protected]
TO: Julian Braha <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

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 <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

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 <[email protected]>
:::::: CC: Michael S. Tsirkin <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to