[pm:devprop 1/4] drivers/base/swnode.c:656 software_node_find_by_name() error: uninitialized symbol 'swnode'.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/rafael/linux-pm.git devprop
head:   149f3b87840e7d292ad059f5fc23f1fa2fc98b9e
commit: 1666faedb567d03cde1d656ae24c6cc253e67373 [1/4] software node: Add software_node_find_by_name()

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

New smatch warnings:
drivers/base/swnode.c:656 software_node_find_by_name() error: uninitialized symbol 'swnode'.

Old smatch warnings:
drivers/base/swnode.c:71 software_node_to_swnode() error: uninitialized symbol 'swnode'.

git remote add pm https://kernel.googlesource.com/pub/scm/linux/kernel/git/rafael/linux-pm.git
git remote update pm
git checkout 1666faedb567d03cde1d656ae24c6cc253e67373
vim +/swnode +656 drivers/base/swnode.c

59abd83672f70c Heikki Krogerus 2018-11-09  622  
1666faedb567d0 Heikki Krogerus 2019-08-19  623  /**
1666faedb567d0 Heikki Krogerus 2019-08-19  624   * software_node_find_by_name - Find software node by name
1666faedb567d0 Heikki Krogerus 2019-08-19  625   * @parent: Parent of the software node
1666faedb567d0 Heikki Krogerus 2019-08-19  626   * @name: Name of the software node
1666faedb567d0 Heikki Krogerus 2019-08-19  627   *
1666faedb567d0 Heikki Krogerus 2019-08-19  628   * The function will find a node that is child of @parent and that is named
1666faedb567d0 Heikki Krogerus 2019-08-19  629   * @name. If no node is found, the function returns NULL.
1666faedb567d0 Heikki Krogerus 2019-08-19  630   *
1666faedb567d0 Heikki Krogerus 2019-08-19  631   * NOTE: you will need to drop the reference with fwnode_handle_put() after use.
1666faedb567d0 Heikki Krogerus 2019-08-19  632   */
1666faedb567d0 Heikki Krogerus 2019-08-19  633  const struct software_node *
1666faedb567d0 Heikki Krogerus 2019-08-19  634  software_node_find_by_name(const struct software_node *parent, const char *name)
1666faedb567d0 Heikki Krogerus 2019-08-19  635  {
1666faedb567d0 Heikki Krogerus 2019-08-19  636  	struct swnode *swnode;
1666faedb567d0 Heikki Krogerus 2019-08-19  637  	struct kobject *k;
1666faedb567d0 Heikki Krogerus 2019-08-19  638  
1666faedb567d0 Heikki Krogerus 2019-08-19  639  	if (!name)
1666faedb567d0 Heikki Krogerus 2019-08-19  640  		return NULL;
1666faedb567d0 Heikki Krogerus 2019-08-19  641  
1666faedb567d0 Heikki Krogerus 2019-08-19  642  	spin_lock(&swnode_kset->list_lock);
1666faedb567d0 Heikki Krogerus 2019-08-19  643  
1666faedb567d0 Heikki Krogerus 2019-08-19  644  	list_for_each_entry(k, &swnode_kset->list, entry) {

Can this list be empty?  Probably not, but if so then "swnode" could
be uninitialized.

1666faedb567d0 Heikki Krogerus 2019-08-19  645  		swnode = kobj_to_swnode(k);
1666faedb567d0 Heikki Krogerus 2019-08-19  646  		if (parent == swnode->node->parent && swnode->node->name &&
1666faedb567d0 Heikki Krogerus 2019-08-19  647  		    !strcmp(name, swnode->node->name)) {
1666faedb567d0 Heikki Krogerus 2019-08-19  648  			kobject_get(&swnode->kobj);
1666faedb567d0 Heikki Krogerus 2019-08-19  649  			break;
1666faedb567d0 Heikki Krogerus 2019-08-19  650  		}
1666faedb567d0 Heikki Krogerus 2019-08-19  651  		swnode = NULL;
1666faedb567d0 Heikki Krogerus 2019-08-19  652  	}
1666faedb567d0 Heikki Krogerus 2019-08-19  653  
1666faedb567d0 Heikki Krogerus 2019-08-19  654  	spin_unlock(&swnode_kset->list_lock);
1666faedb567d0 Heikki Krogerus 2019-08-19  655  
1666faedb567d0 Heikki Krogerus 2019-08-19 @656  	return swnode ? swnode->node : NULL;
1666faedb567d0 Heikki Krogerus 2019-08-19  657  }
1666faedb567d0 Heikki Krogerus 2019-08-19  658  EXPORT_SYMBOL_GPL(software_node_find_by_name);
1666faedb567d0 Heikki Krogerus 2019-08-19  659  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux