* [jimc:dd-diet-7a 32/46] lib/dynamic_debug.c:1454:2: warning: Subtracting pointers that point to different objects [comparePointers]
@ 2022-04-18 17:21 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-04-18 17:21 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 12414 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
TO: Jim Cromie <jim.cromie@gmail.com>
tree: https://github.com/jimc/linux.git dd-diet-7a
head: 210a46eb237516e01e788734db942aef8b815e6c
commit: 279c4dccf11a157e5c836d5b824e259ced9bb17a [32/46] dyndbg: refine (better understand) loop invariants
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (cppcheck warning):
# apt-get install cppcheck
git checkout 279c4dccf11a157e5c836d5b824e259ced9bb17a
cppcheck --quiet --enable=style,performance,portability --template=gcc FILE
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
lib/dynamic_debug.c:657:33: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
if (test_bit(idx_rc, &inbits) ^ !!negate) {
^
lib/dynamic_debug.c:1162:15: warning: Local variable 'p' shadows outer argument [shadowArgument]
char const* p = ddebug_class_name(iter, dp);
^
lib/dynamic_debug.c:1142:55: note: Shadowed declaration
static int ddebug_proc_show(struct seq_file *m, void *p)
^
lib/dynamic_debug.c:1162:15: note: Shadow variable
char const* p = ddebug_class_name(iter, dp);
^
>> lib/dynamic_debug.c:1454:2: warning: Subtracting pointers that point to different objects [comparePointers]
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:46:23: note: Variable declared here.
extern struct _ddebug __stop___dyndbg[];
^
lib/dynamic_debug.c:1454:2: note: Array decayed to pointer here.
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:45:23: note: Variable declared here.
extern struct _ddebug __start___dyndbg[];
^
lib/dynamic_debug.c:1454:2: note: Array decayed to pointer here.
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:1454:2: note: Subtracting pointers that point to different objects
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
>> lib/dynamic_debug.c:1454:2: warning: Subtracting pointers that point to different objects [comparePointers]
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:48:28: note: Variable declared here.
extern struct _ddebug_site __stop___dyndbg_sites[];
^
lib/dynamic_debug.c:1454:2: note: Array decayed to pointer here.
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:47:28: note: Variable declared here.
extern struct _ddebug_site __start___dyndbg_sites[];
^
lib/dynamic_debug.c:1454:2: note: Array decayed to pointer here.
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:1454:2: note: Subtracting pointers that point to different objects
v3pr_info("counted skew %d: sizes %lu vs %lun", skew,
^
lib/dynamic_debug.c:1093:60: warning: Parameter 'pos' can be declared with const [constParameter]
static void *ddebug_proc_start(struct seq_file *m, loff_t *pos)
^
lib/dynamic_debug.c:1116:57: warning: Parameter 'p' can be declared with const [constParameter]
static void *ddebug_proc_next(struct seq_file *m, void *p, loff_t *pos)
^
lib/dynamic_debug.c:190:13: warning: Uninitialized variable: dt->classes [uninitvar]
if (!dt->classes)
^
lib/dynamic_debug.c:176:21: note: Assuming condition is false
if (query->module &&
^
lib/dynamic_debug.c:190:13: note: Uninitialized variable: dt->classes
if (!dt->classes)
^
lib/dynamic_debug.c:1238:20: warning: Uninitialized variable: dt->mod_name [uninitvar]
if (!strcmp(dt->mod_name, map->mod_name)) {
^
lib/dynamic_debug.c:1344:11: warning: Uninitialized variable: dt->mod_name [uninitvar]
if (dt->mod_name == mod_name) {
^
lib/dynamic_debug.c:1227:12: warning: Uninitialized variable: dt->mod_name [uninitvar]
if (dt->mod_name == map->mod->name) {
^
lib/dynamic_debug.c:111:12: warning: Using argument fb that points at uninitialized variable flags [ctuuninitvar]
char *p = fb->buf;
^
lib/dynamic_debug.c:1157:27: note: Calling function ddebug_describe_flags, 2nd argument is uninitialized
ddebug_describe_flags(dp->flags, &flags));
^
lib/dynamic_debug.c:111:12: note: Using argument fb
char *p = fb->buf;
^
vim +1454 lib/dynamic_debug.c
6a5c083de2f5fb Thomas Renninger 2010-08-06 1392
6a5c083de2f5fb Thomas Renninger 2010-08-06 1393 static int __init dynamic_debug_init(void)
6a5c083de2f5fb Thomas Renninger 2010-08-06 1394 {
f7c47ff9b92986 Jim Cromie 2022-02-19 1395 struct _ddebug *iter, *iter_mod_start;
1f87159f2e01a7 Jim Cromie 2022-02-19 1396 struct _ddebug_site *site, *site_mod_start;
0f198609be5581 Jim Cromie 2022-02-19 1397 const char *modname;
b48420c1d3019c Jim Cromie 2012-04-27 1398 char *cmdline;
85fd794b7d2e51 Jim Cromie 2022-02-19 1399 int ret;
235cbd89480d19 Jim Cromie 2022-02-19 1400 int entries, mod_sites, mod_ct;
279c4dccf11a15 Jim Cromie 2022-02-19 1401 int skew = 0;
6a5c083de2f5fb Thomas Renninger 2010-08-06 1402
e5ebffe18e5add Jim Cromie 2020-07-19 1403 if (&__start___dyndbg == &__stop___dyndbg) {
ceabef7dd71720 Orson Zhai 2020-06-07 1404 if (IS_ENABLED(CONFIG_DYNAMIC_DEBUG)) {
f657fd21e16e3a Joe Perches 2012-12-05 1405 pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n");
b5b78f83854af1 Jim Cromie 2011-12-19 1406 return 1;
b5b78f83854af1 Jim Cromie 2011-12-19 1407 }
ceabef7dd71720 Orson Zhai 2020-06-07 1408 pr_info("Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build\n");
ceabef7dd71720 Orson Zhai 2020-06-07 1409 ddebug_init_success = 1;
ceabef7dd71720 Orson Zhai 2020-06-07 1410 return 0;
ceabef7dd71720 Orson Zhai 2020-06-07 1411 }
f7c47ff9b92986 Jim Cromie 2022-02-19 1412
f7c47ff9b92986 Jim Cromie 2022-02-19 1413 iter = iter_mod_start = __start___dyndbg;
1f87159f2e01a7 Jim Cromie 2022-02-19 1414 site = site_mod_start = __start___dyndbg_sites;
29fd557638a5b6 Jim Cromie 2020-07-27 1415 modname = iter->site->_modname;
1f87159f2e01a7 Jim Cromie 2022-02-19 1416 entries = mod_sites = mod_ct = 0;
235cbd89480d19 Jim Cromie 2022-02-19 1417
1f87159f2e01a7 Jim Cromie 2022-02-19 1418 for (; iter < __stop___dyndbg; iter++, site++, entries++, mod_sites++) {
279c4dccf11a15 Jim Cromie 2022-02-19 1419 /*
279c4dccf11a15 Jim Cromie 2022-02-19 1420 * BUG_ON didnt work here, cuz theres a slowly
279c4dccf11a15 Jim Cromie 2022-02-19 1421 * increasing skew between the real pointer and the
279c4dccf11a15 Jim Cromie 2022-02-19 1422 * cursor, re-init to respect the skew (it's there),
279c4dccf11a15 Jim Cromie 2022-02-19 1423 * and to report each just once.
279c4dccf11a15 Jim Cromie 2022-02-19 1424 */
279c4dccf11a15 Jim Cromie 2022-02-19 1425 if (site != iter->site) {
279c4dccf11a15 Jim Cromie 2022-02-19 1426 v3pr_info(" skew change: %ld at %d on %s.%s.%d\n",
279c4dccf11a15 Jim Cromie 2022-02-19 1427 (long)(iter->site - site), entries,
279c4dccf11a15 Jim Cromie 2022-02-19 1428 iter->site->_modname, iter->site->_function, iter->lineno
279c4dccf11a15 Jim Cromie 2022-02-19 1429 );
279c4dccf11a15 Jim Cromie 2022-02-19 1430 skew += (int)(iter->site - site);
279c4dccf11a15 Jim Cromie 2022-02-19 1431 site = iter->site;
279c4dccf11a15 Jim Cromie 2022-02-19 1432 }
235cbd89480d19 Jim Cromie 2022-02-19 1433
29fd557638a5b6 Jim Cromie 2020-07-27 1434 if (strcmp(modname, iter->site->_modname)) {
235cbd89480d19 Jim Cromie 2022-02-19 1435 mod_ct++;
f7c47ff9b92986 Jim Cromie 2022-02-19 1436 ret = ddebug_add_module(iter_mod_start, mod_sites, modname);
e9d376f0fa66bd Jason Baron 2009-02-05 1437 if (ret)
af442399fcf378 Jim Cromie 2012-04-27 1438 goto out_err;
235cbd89480d19 Jim Cromie 2022-02-19 1439 mod_sites = 0;
29fd557638a5b6 Jim Cromie 2020-07-27 1440 modname = iter->site->_modname;
f7c47ff9b92986 Jim Cromie 2022-02-19 1441 iter_mod_start = iter;
1f87159f2e01a7 Jim Cromie 2022-02-19 1442 site_mod_start = site;
e9d376f0fa66bd Jason Baron 2009-02-05 1443 }
e9d376f0fa66bd Jason Baron 2009-02-05 1444 }
f7c47ff9b92986 Jim Cromie 2022-02-19 1445 ret = ddebug_add_module(iter_mod_start, mod_sites, modname);
b5b78f83854af1 Jim Cromie 2011-12-19 1446 if (ret)
af442399fcf378 Jim Cromie 2012-04-27 1447 goto out_err;
a648ec05bb950f Thomas Renninger 2010-08-06 1448
af442399fcf378 Jim Cromie 2012-04-27 1449 ddebug_init_success = 1;
7af5662826f7b1 Jim Cromie 2021-05-24 1450 vpr_info("%d prdebugs in %d modules, %d KiB in ddebug tables, %d kiB in __dyndbg section\n",
235cbd89480d19 Jim Cromie 2022-02-19 1451 entries, mod_ct, (int)((mod_ct * sizeof(struct ddebug_table)) >> 10),
7af5662826f7b1 Jim Cromie 2021-05-24 1452 (int)((entries * sizeof(struct _ddebug)) >> 10));
af442399fcf378 Jim Cromie 2012-04-27 1453
279c4dccf11a15 Jim Cromie 2022-02-19 @1454 v3pr_info("counted skew %d: sizes %lu vs %lu\n", skew,
279c4dccf11a15 Jim Cromie 2022-02-19 1455 (__stop___dyndbg - __start___dyndbg),
279c4dccf11a15 Jim Cromie 2022-02-19 1456 (__stop___dyndbg_sites - __start___dyndbg_sites));
279c4dccf11a15 Jim Cromie 2022-02-19 1457
b48420c1d3019c Jim Cromie 2012-04-27 1458 /* now that ddebug tables are loaded, process all boot args
b48420c1d3019c Jim Cromie 2012-04-27 1459 * again to find and activate queries given in dyndbg params.
b48420c1d3019c Jim Cromie 2012-04-27 1460 * While this has already been done for known boot params, it
b48420c1d3019c Jim Cromie 2012-04-27 1461 * ignored the unknown ones (dyndbg in particular). Reusing
b48420c1d3019c Jim Cromie 2012-04-27 1462 * parse_args avoids ad-hoc parsing. This will also attempt
b48420c1d3019c Jim Cromie 2012-04-27 1463 * to activate queries for not-yet-loaded modules, which is
b48420c1d3019c Jim Cromie 2012-04-27 1464 * slightly noisy if verbose, but harmless.
b48420c1d3019c Jim Cromie 2012-04-27 1465 */
b48420c1d3019c Jim Cromie 2012-04-27 1466 cmdline = kstrdup(saved_command_line, GFP_KERNEL);
b48420c1d3019c Jim Cromie 2012-04-27 1467 parse_args("dyndbg params", cmdline, NULL,
ecc8617053e0a9 Luis R. Rodriguez 2015-03-30 1468 0, 0, 0, NULL, &ddebug_dyndbg_boot_param_cb);
b48420c1d3019c Jim Cromie 2012-04-27 1469 kfree(cmdline);
af442399fcf378 Jim Cromie 2012-04-27 1470 return 0;
a648ec05bb950f Thomas Renninger 2010-08-06 1471
af442399fcf378 Jim Cromie 2012-04-27 1472 out_err:
e9d376f0fa66bd Jason Baron 2009-02-05 1473 ddebug_remove_all_tables();
e9d376f0fa66bd Jason Baron 2009-02-05 1474 return 0;
e9d376f0fa66bd Jason Baron 2009-02-05 1475 }
6a5c083de2f5fb Thomas Renninger 2010-08-06 1476 /* Allow early initialization for boot messages via boot param */
3ec5652ab70f6e Jim Cromie 2012-04-27 1477 early_initcall(dynamic_debug_init);
b48420c1d3019c Jim Cromie 2012-04-27 1478
--
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-04-18 17:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-18 17:21 [jimc:dd-diet-7a 32/46] lib/dynamic_debug.c:1454:2: warning: Subtracting pointers that point to different objects [comparePointers] 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.