All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/platform/x86/intel/pmc/core.c:1291:18: warning: Array index 'i' is used before limits check. [arrayIndexThenCheck]
@ 2022-08-02 23:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-08-02 23:22 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 11813 bytes --]

:::::: 
:::::: 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: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Kate Hsuan <hpa@redhat.com>
CC: Hans de Goede <hdegoede@redhat.com>
CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
CC: Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>

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 <lkp@intel.com>

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@line 1291 was first introduced by commit
:::::: 952c15538e5346fcb0548370f25380b7bc62ed40 platform/x86: intel_pmc_core: Add requirements file to debugfs

:::::: TO: Gayatri Kammela <gayatri.kammela@intel.com>
:::::: CC: Hans de Goede <hdegoede@redhat.com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-02 23:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-02 23:22 drivers/platform/x86/intel/pmc/core.c:1291:18: warning: Array index 'i' is used before limits check. [arrayIndexThenCheck] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.