:::::: 
:::::: Manual check reason: "low confidence static check warning: 
drivers/opp/debugfs.c:212:8: warning: Null pointer dereference: new_dev 
[nullPointer]"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Xiaomeng Tong <[email protected]>
CC: Viresh Kumar <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git 
opp/config
head:   2f8b5b70bf8a070271e0f9f63564ad5fbef85a40
commit: c14faabf5364c5b1be115bbc660310966ca7371f [4/40] opp: use list iterator 
only inside the loop
:::::: branch date: 13 hours ago
:::::: commit date: 7 weeks ago
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout c14faabf5364c5b1be115bbc660310966ca7371f
        cppcheck --quiet --enable=style,performance,portability --template=gcc 
FILE

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/opp/debugfs.c:212:8: warning: Null pointer dereference: new_dev 
>> [nullPointer]
    dev = new_dev->dev;
          ^
   drivers/opp/debugfs.c:198:31: note: Assignment 'new_dev=NULL', assigned 
value is 0
    struct opp_device *new_dev = NULL, *iter;
                                 ^
   drivers/opp/debugfs.c:204:12: note: Assuming condition is false
     if (iter != opp_dev) {
              ^
   drivers/opp/debugfs.c:212:8: note: Null pointer dereference
    dev = new_dev->dev;
          ^
   drivers/opp/debugfs.c:213:27: warning: Null pointer dereference: new_dev 
[nullPointer]
    debugfs_remove_recursive(new_dev->dentry);
                             ^
   drivers/opp/debugfs.c:198:31: note: Assignment 'new_dev=NULL', assigned 
value is 0
    struct opp_device *new_dev = NULL, *iter;
                                 ^
   drivers/opp/debugfs.c:204:12: note: Assuming condition is false
     if (iter != opp_dev) {
              ^
   drivers/opp/debugfs.c:213:27: note: Null pointer dereference
    debugfs_remove_recursive(new_dev->dentry);
                             ^

vim +212 drivers/opp/debugfs.c

deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  194  
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  195  
static void opp_migrate_dentry(struct opp_device *opp_dev,
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  196   
                       struct opp_table *opp_table)
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  197  {
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  198   
struct opp_device *new_dev = NULL, *iter;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  199   
const struct device *dev;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  200   
struct dentry *dentry;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  201  
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  202   
/* Look for next opp-dev */
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  203   
list_for_each_entry(iter, &opp_table->dev_list, node)
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  204   
        if (iter != opp_dev) {
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  205   
                new_dev = iter;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  206   
                break;
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  207   
        }
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  208  
c14faabf5364c5 drivers/opp/debugfs.c            Xiaomeng Tong 2022-03-31  209   
BUG_ON(!new_dev);
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  210  
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  211   
/* new_dev is guaranteed to be valid here */
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11 @212   
dev = new_dev->dev;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  213   
debugfs_remove_recursive(new_dev->dentry);
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  214  
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  215   
opp_set_dev_name(dev, opp_table->dentry_name);
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  216  
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  217   
dentry = debugfs_rename(rootdir, opp_dev->dentry, rootdir,
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  218   
                        opp_table->dentry_name);
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  219   
if (!dentry) {
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  220   
        dev_err(dev, "%s: Failed to rename link from: %s to %s\n",
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  221   
                __func__, dev_name(opp_dev->dev), dev_name(dev));
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  222   
        return;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  223   
}
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  224  
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  225   
new_dev->dentry = dentry;
2c2709dc6921c5 drivers/base/power/opp/debugfs.c Viresh Kumar  2016-02-16  226   
opp_table->dentry = dentry;
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  227  }
deaa51465105a7 drivers/base/power/opp/debugfs.c Viresh Kumar  2015-11-11  228  

:::::: The code at line 212 was first introduced by commit
:::::: deaa51465105a7eda19a627b10372f4f7c51a4df PM / OPP: Add debugfs support

:::::: TO: Viresh Kumar <[email protected]>
:::::: CC: Rafael J. Wysocki <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to