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