* 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.