:::::: 
:::::: Manual check reason: "low confidence static check warning: 
drivers/platform/x86/intel/pmc/core.c:1291:18: warning: Array index 'i' is used 
before limits check. [arrayIndexThenCheck]"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Kate Hsuan <[email protected]>
CC: Hans de Goede <[email protected]>
CC: Andy Shevchenko <[email protected]>
CC: Rajneesh Bhardwaj <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   569bede0cff5e98c0f862d486406b79dcada8eea
commit: fa082a7cf5a66a42a06da048afd972e2cc1b67ea platform/x86: intel_pmc_core: 
Move to intel sub-directory
date:   12 months ago
:::::: branch date: 53 minutes ago
:::::: commit date: 12 months ago
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout fa082a7cf5a66a42a06da048afd972e2cc1b67ea
        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 warnings: (new ones prefixed by >>)
>> drivers/platform/x86/intel/pmc/core.c:1519:7: warning: Local variable 'mode' 
>> shadows outer variable [shadowVariable]
     int mode = pri_order[p];
         ^
   drivers/platform/x86/intel/pmc/core.c:1489:6: note: Shadowed declaration
    int mode, i, p;
        ^
   drivers/platform/x86/intel/pmc/core.c:1519:7: note: Shadow variable
     int mode = pri_order[p];
         ^
>> drivers/usb/core/hub.c:4885:8: warning: Local variable 'delay' shadows outer 
>> variable [shadowVariable]
      u32 delay;
          ^
   drivers/usb/core/hub.c:4634:12: note: Shadowed declaration
    unsigned  delay = HUB_SHORT_RESET_TIME;
              ^
   drivers/usb/core/hub.c:4885:8: note: Shadow variable
      u32 delay;
          ^

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

>> drivers/platform/x86/intel/pmc/core.c:1291:18: warning: Array index 'i' is 
>> used before limits check. [arrayIndexThenCheck]
     for (i = 0; map[i].name && i < len; i++) {
                    ^
>> drivers/platform/x86/intel/pmc/core.c:921:59: warning: Parameter 'addr_xram' 
>> can be declared with const [constParameter]
   static int pmc_core_send_msg(struct pmc_dev *pmcdev, u32 *addr_xram)
                                                             ^
--
>> drivers/usb/core/otg_productlist.h:58:10: warning: Redundant initialization 
>> for 'id'. The initialized value is overwritten before it is read. 
>> [redundantInitialization]
    for (id = productlist_table; id->match_flags; id++) {
            ^
   drivers/usb/core/otg_productlist.h:43:27: note: id is initialized
    struct usb_device_id *id = productlist_table;
                             ^
   drivers/usb/core/otg_productlist.h:58:10: note: id is overwritten
    for (id = productlist_table; id->match_flags; id++) {
            ^
>> drivers/usb/core/hub.c:1981:79: warning: Parameter 'owner' can be declared 
>> with const [constParameter]
   void usb_hub_release_all_ports(struct usb_device *hdev, struct usb_dev_state 
*owner)
                                                                                
 ^
   drivers/usb/core/hub.c:1966:27: warning: Parameter 'owner' can be declared 
with const [constParameter]
       struct usb_dev_state *owner)
                             ^

vim +/i +1291 drivers/platform/x86/intel/pmc/core.c

952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1258  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1259  static int pmc_core_substate_req_regs_show(struct seq_file *s, void 
*unused)
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1260  {
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1261   struct pmc_dev *pmcdev = s->private;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1262   const struct pmc_bit_map **maps = pmcdev->map->lpm_sts;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1263   const struct pmc_bit_map *map;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1264   const int num_maps = pmcdev->map->lpm_num_maps;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1265   u32 sts_offset = pmcdev->map->lpm_status_offset;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1266   u32 *lpm_req_regs = pmcdev->lpm_req_regs;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1267   int mp;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1268  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1269   /* Display the header */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1270   pmc_core_substate_req_header_show(s);
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1271  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1272   /* Loop over maps */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1273   for (mp = 0; mp < num_maps; mp++) {
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1274           u32 req_mask = 0;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1275           u32 lpm_status;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1276           int mode, idx, i, len = 32;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1277  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1278           /*
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1279            * Capture the requirements and create a mask so that we only
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1280            * show an element if it's required for at least one of the
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1281            * enabled low power modes
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1282            */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1283           pmc_for_each_mode(idx, mode, pmcdev)
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1284                   req_mask |= lpm_req_regs[mp + (mode * num_maps)];
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1285  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1286           /* Get the last latched status for this map */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1287           lpm_status = pmc_core_reg_read(pmcdev, sts_offset + (mp * 4));
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1288  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1289           /*  Loop over elements in this map */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1290           map = maps[mp];
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
@1291           for (i = 0; map[i].name && i < len; i++) {
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1292                   u32 bit_mask = map[i].bit_mask;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1293  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1294                   if (!(bit_mask & req_mask))
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1295                           /*
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1296                            * Not required for any enabled states
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1297                            * so don't display
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1298                            */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1299                           continue;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1300  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1301                   /* Display the element name in the first column */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1302                   seq_printf(s, "%30s |", map[i].name);
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1303  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1304                   /* Loop over the enabled states and display if required 
*/
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1305                   pmc_for_each_mode(idx, mode, pmcdev) {
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1306                           if (lpm_req_regs[mp + (mode * num_maps)] & 
bit_mask)
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1307                                   seq_printf(s, " %9s |",
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1308                                              "Required");
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1309                           else
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1310                                   seq_printf(s, " %9s |", " ");
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1311                   }
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1312  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1313                   /* In Status column, show the last captured state of 
this agent */
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1314                   if (lpm_status & bit_mask)
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1315                           seq_printf(s, " %9s |", "Yes");
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1316                   else
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1317                           seq_printf(s, " %9s |", " ");
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1318  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1319                   seq_puts(s, "\n");
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1320           }
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1321   }
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1322  
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1323   return 0;
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1324  }
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1325  DEFINE_SHOW_ATTRIBUTE(pmc_core_substate_req_regs);
952c15538e5346 drivers/platform/x86/intel_pmc_core.c Gayatri Kammela 2021-04-16 
 1326  

:::::: The code at line 1291 was first introduced by commit
:::::: 952c15538e5346fcb0548370f25380b7bc62ed40 platform/x86: intel_pmc_core: 
Add requirements file to debugfs

:::::: TO: Gayatri Kammela <[email protected]>
:::::: CC: Hans de Goede <[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