CC: kbuild-...@lists.01.org
TO: Jiri Pirko <j...@nvidia.com>

tree:   https://github.com/jpirko/linux_mlxsw linecards_bu5
head:   ac32eea04a0d84715c80f82df76faa5944665c31
commit: d54bba0f8a351c19ac1afe5ab901b430712f38f4 [50/110] devlink: implement 
line card provisioning
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: sparc-randconfig-c004-20210622 (attached as .config)
compiler: sparc-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>


cocci warnings: (new ones prefixed by >>)
>> net/core/devlink.c:9793:2-8: preceding lock on line 9774

vim +9793 net/core/devlink.c

d54bba0f8a351c Jiri Pirko 2020-12-31  9751  
d54bba0f8a351c Jiri Pirko 2020-12-31  9752  
3ed099532e7d71 Jiri Pirko 2020-12-28  9753  /**
3ed099532e7d71 Jiri Pirko 2020-12-28  9754   *  devlink_linecard_create - 
Create devlink linecard
3ed099532e7d71 Jiri Pirko 2020-12-28  9755   *
3ed099532e7d71 Jiri Pirko 2020-12-28  9756   *  @devlink: devlink
d54bba0f8a351c Jiri Pirko 2020-12-31  9757   *  @linecard: devlink linecard
3ed099532e7d71 Jiri Pirko 2020-12-28  9758   *  @linecard_index: 
driver-specific numerical identifier of the linecard
3ed099532e7d71 Jiri Pirko 2020-12-28  9759   *
3ed099532e7d71 Jiri Pirko 2020-12-28  9760   *  Create devlink linecard 
instance with provided linecard index.
3ed099532e7d71 Jiri Pirko 2020-12-28  9761   *  Caller can use any indexing, 
even hw-related one.
3ed099532e7d71 Jiri Pirko 2020-12-28  9762   */
d54bba0f8a351c Jiri Pirko 2020-12-31  9763  struct devlink_linecard *
d54bba0f8a351c Jiri Pirko 2020-12-31  9764  devlink_linecard_create(struct 
devlink *devlink, unsigned int linecard_index,
d54bba0f8a351c Jiri Pirko 2020-12-31  9765                      const struct 
devlink_linecard_ops *ops, void *priv)
3ed099532e7d71 Jiri Pirko 2020-12-28  9766  {
3ed099532e7d71 Jiri Pirko 2020-12-28  9767      struct devlink_linecard 
*linecard;
d54bba0f8a351c Jiri Pirko 2020-12-31  9768      int err;
d54bba0f8a351c Jiri Pirko 2020-12-31  9769  
d54bba0f8a351c Jiri Pirko 2020-12-31  9770      if (WARN_ON(!ops || 
!ops->provision || !ops->unprovision ||
d54bba0f8a351c Jiri Pirko 2020-12-31  9771                  !ops->types_count 
|| !ops->types_get))
d54bba0f8a351c Jiri Pirko 2020-12-31  9772              return ERR_PTR(-EINVAL);
3ed099532e7d71 Jiri Pirko 2020-12-28  9773  
3ed099532e7d71 Jiri Pirko 2020-12-28 @9774      mutex_lock(&devlink->lock);
3ed099532e7d71 Jiri Pirko 2020-12-28  9775      if 
(devlink_linecard_index_exists(devlink, linecard_index)) {
3ed099532e7d71 Jiri Pirko 2020-12-28  9776              
mutex_unlock(&devlink->lock);
3ed099532e7d71 Jiri Pirko 2020-12-28  9777              return ERR_PTR(-EEXIST);
3ed099532e7d71 Jiri Pirko 2020-12-28  9778      }
3ed099532e7d71 Jiri Pirko 2020-12-28  9779  
3ed099532e7d71 Jiri Pirko 2020-12-28  9780      linecard = 
kzalloc(sizeof(*linecard), GFP_KERNEL);
3ed099532e7d71 Jiri Pirko 2020-12-28  9781      if (!linecard)
3ed099532e7d71 Jiri Pirko 2020-12-28  9782              return ERR_PTR(-ENOMEM);
3ed099532e7d71 Jiri Pirko 2020-12-28  9783  
3ed099532e7d71 Jiri Pirko 2020-12-28  9784      linecard->devlink = devlink;
3ed099532e7d71 Jiri Pirko 2020-12-28  9785      linecard->index = 
linecard_index;
d54bba0f8a351c Jiri Pirko 2020-12-31  9786      linecard->ops = ops;
d54bba0f8a351c Jiri Pirko 2020-12-31  9787      linecard->priv = priv;
d54bba0f8a351c Jiri Pirko 2020-12-31  9788      linecard->state = 
DEVLINK_LINECARD_STATE_UNPROVISIONED;
d54bba0f8a351c Jiri Pirko 2020-12-31  9789  
d54bba0f8a351c Jiri Pirko 2020-12-31  9790      err = 
devlink_linecard_types_init(linecard);
d54bba0f8a351c Jiri Pirko 2020-12-31  9791      if (err) {
d54bba0f8a351c Jiri Pirko 2020-12-31  9792              kfree(linecard);
d54bba0f8a351c Jiri Pirko 2020-12-31 @9793              return ERR_PTR(err);
d54bba0f8a351c Jiri Pirko 2020-12-31  9794      }
d54bba0f8a351c Jiri Pirko 2020-12-31  9795  
3ed099532e7d71 Jiri Pirko 2020-12-28  9796      list_add_tail(&linecard->list, 
&devlink->linecard_list);
3ed099532e7d71 Jiri Pirko 2020-12-28  9797      
devlink_linecard_notify(linecard, DEVLINK_CMD_LINECARD_NEW);
3ed099532e7d71 Jiri Pirko 2020-12-28  9798      mutex_unlock(&devlink->lock);
3ed099532e7d71 Jiri Pirko 2020-12-28  9799      return linecard;
3ed099532e7d71 Jiri Pirko 2020-12-28  9800  }
3ed099532e7d71 Jiri Pirko 2020-12-28  9801  
EXPORT_SYMBOL_GPL(devlink_linecard_create);
3ed099532e7d71 Jiri Pirko 2020-12-28  9802  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to