On 4/23/21 12:37 PM, Dan Carpenter wrote: > Hi, > > url: https://github.com/0day-ci/linux/commits/dlinkin-nvidia-com/devlink-rate-objects-API/20210421-235552 > base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git a926c025d56bb1acd8a192fca0e307331ee91b30 > config: x86_64-randconfig-m001-20210421 (attached as .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 > Reported-by: Dan Carpenter > > New smatch warnings: > net/core/devlink.c:1591 devlink_nl_rate_set() error: uninitialized symbol 'err'. > > Old smatch warnings: > net/core/devlink.c:1604 devlink_nl_rate_set() error: uninitialized symbol 'err'. > net/core/devlink.c:6364 devlink_fmsg_prepare_skb() error: uninitialized symbol 'err'. > > vim +/err +1591 net/core/devlink.c > > 709d06045321cd Dmytro Linkin 2021-04-21 1575 static int devlink_nl_rate_set(struct devlink_rate *devlink_rate, > 709d06045321cd Dmytro Linkin 2021-04-21 1576 const struct devlink_ops *ops, > 709d06045321cd Dmytro Linkin 2021-04-21 1577 struct genl_info *info) > 709d06045321cd Dmytro Linkin 2021-04-21 1578 { > 709d06045321cd Dmytro Linkin 2021-04-21 1579 struct nlattr **attrs = info->attrs; > 709d06045321cd Dmytro Linkin 2021-04-21 1580 u64 rate; > 709d06045321cd Dmytro Linkin 2021-04-21 1581 int err; > 709d06045321cd Dmytro Linkin 2021-04-21 1582 > 709d06045321cd Dmytro Linkin 2021-04-21 1583 if (attrs[DEVLINK_ATTR_RATE_TX_SHARE]) { > 709d06045321cd Dmytro Linkin 2021-04-21 1584 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_SHARE]); > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1585 if (devlink_rate_is_leaf(devlink_rate)) > 709d06045321cd Dmytro Linkin 2021-04-21 1586 err = ops->rate_leaf_tx_share_set(devlink_rate, devlink_rate->priv, > 709d06045321cd Dmytro Linkin 2021-04-21 1587 rate, info->extack); > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1588 else if (devlink_rate_is_node(devlink_rate)) > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1589 err = ops->rate_node_tx_share_set(devlink_rate, devlink_rate->priv, > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1590 rate, info->extack); > > No else path. Is there something else besides leafs and nodes? Hi, Before call of devlink_nl_rate_set() check for valid type is done, so only leafs and nodes are allowed. I'll init 'err' to EOPNOTSUPP in next version. > > 709d06045321cd Dmytro Linkin 2021-04-21 @1591 if (err) > 709d06045321cd Dmytro Linkin 2021-04-21 1592 return err; > 709d06045321cd Dmytro Linkin 2021-04-21 1593 devlink_rate->tx_share = rate; > 709d06045321cd Dmytro Linkin 2021-04-21 1594 } > 709d06045321cd Dmytro Linkin 2021-04-21 1595 > 709d06045321cd Dmytro Linkin 2021-04-21 1596 if (attrs[DEVLINK_ATTR_RATE_TX_MAX]) { > 709d06045321cd Dmytro Linkin 2021-04-21 1597 rate = nla_get_u64(attrs[DEVLINK_ATTR_RATE_TX_MAX]); > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1598 if (devlink_rate_is_leaf(devlink_rate)) > 709d06045321cd Dmytro Linkin 2021-04-21 1599 err = ops->rate_leaf_tx_max_set(devlink_rate, devlink_rate->priv, > 709d06045321cd Dmytro Linkin 2021-04-21 1600 rate, info->extack); > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1601 else if (devlink_rate_is_node(devlink_rate)) > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1602 err = ops->rate_node_tx_max_set(devlink_rate, devlink_rate->priv, > ddc9bb1d01c107 Dmytro Linkin 2021-04-21 1603 rate, info->extack); > 709d06045321cd Dmytro Linkin 2021-04-21 1604 if (err) > 709d06045321cd Dmytro Linkin 2021-04-21 1605 return err; > 709d06045321cd Dmytro Linkin 2021-04-21 1606 devlink_rate->tx_max = rate; > 709d06045321cd Dmytro Linkin 2021-04-21 1607 } > 709d06045321cd Dmytro Linkin 2021-04-21 1608 > 709d06045321cd Dmytro Linkin 2021-04-21 1609 return 0; > 709d06045321cd Dmytro Linkin 2021-04-21 1610 } > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01.org%2Fhyperkitty%2Flist%2Fkbuild-all%40lists.01.org&data=04%7C01%7Cdlinkin%40nvidia.com%7C8c709dcce03841a6914408d9063b6baf%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637547674608679060%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=E8ybPHv3M1s1qkbEVssXjBWG72Il1bJEHFay5UhrZUw%3D&reserved=0 >