CC: [email protected] BCC: [email protected] TO: Jim Cromie <[email protected]>
tree: https://github.com/jimc/linux.git dyndbg-next head: 2d866e4162816ff445daf40b085b8dcd5b6d1e71 commit: 0b730377edaffc4db2eaa5a243a0af307e8471d0 [12/13] dyndbg: WIP add symbolic bitmap :::::: branch date: 6 hours ago :::::: commit date: 6 hours ago config: x86_64-randconfig-m001-20220404 (https://download.01.org/0day-ci/archive/20220404/[email protected]/config) compiler: gcc-11 (Debian 11.2.0-19) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: lib/dynamic_debug.c:609 param_set_dyndbg_class_strings() warn: this array is probably non-NULL. 'dcp->map->classes' Old smatch warnings: lib/dynamic_debug.c:642 param_set_dyndbg_class_strings() error: uninitialized symbol 'inbits'. vim +609 lib/dynamic_debug.c 360be1e8c2071b Jim Cromie 2022-04-01 594 0b730377edaffc Jim Cromie 2022-04-01 595 /* support for +/- symbolic-name boolean list */ 0b730377edaffc Jim Cromie 2022-04-01 596 static int param_set_dyndbg_class_strings(const char *instr, const struct kernel_param *kp) 0b730377edaffc Jim Cromie 2022-04-01 597 { 0b730377edaffc Jim Cromie 2022-04-01 598 unsigned long inbits; 0b730377edaffc Jim Cromie 2022-04-01 599 int idx_rc, matches = 0, totct = 0; 0b730377edaffc Jim Cromie 2022-04-01 600 char query[FMT_QUERY_SIZE]; 0b730377edaffc Jim Cromie 2022-04-01 601 const struct ddebug_classes_bitmap_param *dcp = kp->arg; 0b730377edaffc Jim Cromie 2022-04-01 602 bool negate = false; 0b730377edaffc Jim Cromie 2022-04-01 603 char *cls, *p; 0b730377edaffc Jim Cromie 2022-04-01 604 0b730377edaffc Jim Cromie 2022-04-01 605 if (!dcp || !dcp->map) { 0b730377edaffc Jim Cromie 2022-04-01 606 pr_err("set_dyndbg_classes: no bits=>queries map\n"); 0b730377edaffc Jim Cromie 2022-04-01 607 return -EINVAL; 0b730377edaffc Jim Cromie 2022-04-01 608 } 0b730377edaffc Jim Cromie 2022-04-01 @609 if (!dcp->map->classes) { 0b730377edaffc Jim Cromie 2022-04-01 610 pr_err("module -get-classes: no classes\n"); 0b730377edaffc Jim Cromie 2022-04-01 611 return -EINVAL; 0b730377edaffc Jim Cromie 2022-04-01 612 } 0b730377edaffc Jim Cromie 2022-04-01 613 cls = kstrdup(instr, GFP_KERNEL); 0b730377edaffc Jim Cromie 2022-04-01 614 0b730377edaffc Jim Cromie 2022-04-01 615 for (p = strchr(cls, ','); cls; cls = strchr(p, ',')) { 0b730377edaffc Jim Cromie 2022-04-01 616 if (p) 0b730377edaffc Jim Cromie 2022-04-01 617 *p++ = 0; /* chop and advance on comma */ 0b730377edaffc Jim Cromie 2022-04-01 618 if (*cls == '!') { 0b730377edaffc Jim Cromie 2022-04-01 619 negate = true; 0b730377edaffc Jim Cromie 2022-04-01 620 cls++; 0b730377edaffc Jim Cromie 2022-04-01 621 } else if (*(p - 1) == '!') { 0b730377edaffc Jim Cromie 2022-04-01 622 negate = true; 0b730377edaffc Jim Cromie 2022-04-01 623 *(p - 1) = '0'; 0b730377edaffc Jim Cromie 2022-04-01 624 } 0b730377edaffc Jim Cromie 2022-04-01 625 idx_rc = match_string(dcp->map->classes, _DPRINTK_CLASS_DFLT, cls); 0b730377edaffc Jim Cromie 2022-04-01 626 if (idx_rc < 0) { 0b730377edaffc Jim Cromie 2022-04-01 627 pr_err("%s not found for module: %s\n", cls, KP_MOD_NAME); 0b730377edaffc Jim Cromie 2022-04-01 628 return idx_rc; 0b730377edaffc Jim Cromie 2022-04-01 629 } 0b730377edaffc Jim Cromie 2022-04-01 630 if (negate == test_bit(idx_rc, dcp->bits)) 0b730377edaffc Jim Cromie 2022-04-01 631 continue; 0b730377edaffc Jim Cromie 2022-04-01 632 0b730377edaffc Jim Cromie 2022-04-01 633 snprintf(query, FMT_QUERY_SIZE, "class %s %c%s", 0b730377edaffc Jim Cromie 2022-04-01 634 cls, !!negate ? '-' : '+', dcp->flags); 0b730377edaffc Jim Cromie 2022-04-01 635 0b730377edaffc Jim Cromie 2022-04-01 636 matches = ddebug_exec_queries(query, KP_MOD_NAME); 0b730377edaffc Jim Cromie 2022-04-01 637 0b730377edaffc Jim Cromie 2022-04-01 638 v2pr_info("%d matches on class:%s\n", matches, cls); 0b730377edaffc Jim Cromie 2022-04-01 639 totct += matches; 0b730377edaffc Jim Cromie 2022-04-01 640 } 0b730377edaffc Jim Cromie 2022-04-01 641 kfree(cls); 0b730377edaffc Jim Cromie 2022-04-01 642 *dcp->bits = inbits; 0b730377edaffc Jim Cromie 2022-04-01 643 vpr_info("total matches: %d\n", totct); 0b730377edaffc Jim Cromie 2022-04-01 644 return 0; 0b730377edaffc Jim Cromie 2022-04-01 645 } 0b730377edaffc Jim Cromie 2022-04-01 646 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
