From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [jimc:m10 35/44] lib/dynamic_debug.c:854 param_set_dyndbg_module_classes() error: we previously assumed 'map' could be null (see line 841)
Date: Wed, 23 Sep 2026 09:28:39 +0200 [thread overview]
Message-ID: <202609230952.6jFrseQb-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Jim Cromie <jim.cromie@gmail.com>
TO: "Łukasz Bartosik" <ukaszb@chromium.org>
tree: https://github.com/jimc/linux.git m10
head: f95e4f1e4ce035c9b5f8da68c66d83f2452d92d5
commit: feb8ec0044ac67921562346a4a6b831204667ea9 [35/44] dyndbg: resolve "protection" of class'd pr_debug
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-2200-20260923 (https://download.01.org/0day-ci/archive/20260923/202609230952.6jFrseQb-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609230952.6jFrseQb-lkp@intel.com/
smatch warnings:
lib/dynamic_debug.c:854 param_set_dyndbg_module_classes() error: we previously assumed 'map' could be null (see line 841)
vim +/map +854 lib/dynamic_debug.c
d88925c4b39c80 Jim Cromie 2025-11-18 819
d88925c4b39c80 Jim Cromie 2025-11-18 820 /**
d88925c4b39c80 Jim Cromie 2025-11-18 821 * param_set_dyndbg_classes - class FOO >control
d88925c4b39c80 Jim Cromie 2025-11-18 822 * @instr: string echo>d to sysfs, input depends on map_type
d88925c4b39c80 Jim Cromie 2025-11-18 823 * @kp: kp->arg has state: bits/lvl, map, map_type
d88925c4b39c80 Jim Cromie 2025-11-18 824 * @mod_name: module name or null for all modules with the classes
d88925c4b39c80 Jim Cromie 2025-11-18 825 *
d88925c4b39c80 Jim Cromie 2025-11-18 826 * Enable/disable prdbgs by their class, as given in the arguments to
d88925c4b39c80 Jim Cromie 2025-11-18 827 * DECLARE_DYNDBG_CLASSMAP. For LEVEL map-types, enforce relative
d88925c4b39c80 Jim Cromie 2025-11-18 828 * levels by bitpos.
d88925c4b39c80 Jim Cromie 2025-11-18 829 *
d88925c4b39c80 Jim Cromie 2025-11-18 830 * Returns: 0 or <0 if error.
b9400852c0801a Jim Cromie 2022-09-04 831 */
7f10c4fc568572 Jim Cromie 2025-11-18 832 static int param_set_dyndbg_module_classes(const char *instr,
7f10c4fc568572 Jim Cromie 2025-11-18 833 const struct kernel_param *kp,
7f10c4fc568572 Jim Cromie 2025-11-18 834 const char *mod_name)
b9400852c0801a Jim Cromie 2022-09-04 835 {
feb8ec0044ac67 Jim Cromie 2025-11-18 836 struct ddebug_class_param *dcp = kp->arg;
feb8ec0044ac67 Jim Cromie 2025-11-18 837 struct ddebug_class_map *map = dcp->map;
62b32b2a95ef1c Jim Cromie 2025-11-18 838 u32 inrep, new_bits, old_bits, old_val;
b9400852c0801a Jim Cromie 2022-09-04 839 int rc, totct = 0;
b9400852c0801a Jim Cromie 2022-09-04 840
feb8ec0044ac67 Jim Cromie 2025-11-18 @841 if (map && !map->controlling_param)
feb8ec0044ac67 Jim Cromie 2025-11-18 842 map->controlling_param = dcp;
feb8ec0044ac67 Jim Cromie 2025-11-18 843
62b32b2a95ef1c Jim Cromie 2025-11-18 844 rc = kstrtou32(instr, 0, &inrep);
b9400852c0801a Jim Cromie 2022-09-04 845 if (rc) {
cec8bafd130370 Jim Cromie 2025-11-18 846 int len = strcspn(instr, "\n");
cec8bafd130370 Jim Cromie 2025-11-18 847
cec8bafd130370 Jim Cromie 2025-11-18 848 pr_err("expecting numeric input, not: %.*s > %s\n",
cec8bafd130370 Jim Cromie 2025-11-18 849 len, instr, KP_NAME(kp));
b9400852c0801a Jim Cromie 2022-09-04 850 return -EINVAL;
b9400852c0801a Jim Cromie 2022-09-04 851 }
d88925c4b39c80 Jim Cromie 2025-11-18 852 ddebug_class_param_clamp_input(&inrep, kp);
b9400852c0801a Jim Cromie 2022-09-04 853
b9400852c0801a Jim Cromie 2022-09-04 @854 switch (map->map_type) {
b9400852c0801a Jim Cromie 2022-09-04 855 case DD_CLASS_TYPE_DISJOINT_BITS:
7f10c4fc568572 Jim Cromie 2025-11-18 856 old_val = READ_ONCE(*dcp->bits);
62b32b2a95ef1c Jim Cromie 2025-11-18 857 v2pr_info("bits:0x%x > %s.%s\n", inrep, mod_name ?: "*", KP_NAME(kp));
a62837264de615 Jim Cromie 2025-11-18 858 totct += ddebug_apply_class_bitmap(dcp, &inrep, old_val, mod_name);
7f10c4fc568572 Jim Cromie 2025-11-18 859 WRITE_ONCE(*dcp->bits, inrep);
b9400852c0801a Jim Cromie 2022-09-04 860 break;
b9400852c0801a Jim Cromie 2022-09-04 861 case DD_CLASS_TYPE_LEVEL_NUM:
7f10c4fc568572 Jim Cromie 2025-11-18 862 old_val = READ_ONCE(*dcp->lvl);
7f10c4fc568572 Jim Cromie 2025-11-18 863 old_bits = CLASSMAP_BITMASK(old_val);
b9400852c0801a Jim Cromie 2022-09-04 864 new_bits = CLASSMAP_BITMASK(inrep);
62b32b2a95ef1c Jim Cromie 2025-11-18 865 v2pr_info("lvl:%u bits:0x%x > %s\n", inrep, new_bits, KP_NAME(kp));
a62837264de615 Jim Cromie 2025-11-18 866 totct += ddebug_apply_class_bitmap(dcp, &new_bits, old_bits, mod_name);
7f10c4fc568572 Jim Cromie 2025-11-18 867 WRITE_ONCE(*dcp->lvl, inrep);
b9400852c0801a Jim Cromie 2022-09-04 868 break;
b9400852c0801a Jim Cromie 2022-09-04 869 default:
b9400852c0801a Jim Cromie 2022-09-04 870 pr_warn("%s: bad map type: %d\n", KP_NAME(kp), map->map_type);
cec8bafd130370 Jim Cromie 2025-11-18 871 return -EINVAL;
b9400852c0801a Jim Cromie 2022-09-04 872 }
b9400852c0801a Jim Cromie 2022-09-04 873 vpr_info("%s: total matches: %d\n", KP_NAME(kp), totct);
b9400852c0801a Jim Cromie 2022-09-04 874 return 0;
b9400852c0801a Jim Cromie 2022-09-04 875 }
7f10c4fc568572 Jim Cromie 2025-11-18 876
:::::: The code at line 854 was first introduced by commit
:::::: b9400852c0801aebee4fc8b62e6b7cc69c7fcbda dyndbg: add drm.debug style (drm/parameters/debug) bitmap support
:::::: TO: Jim Cromie <jim.cromie@gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev, "Jim Cromie" <jim.cromie@gmail.com>,
"Łukasz Bartosik" <ukaszb@chromium.org>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev
Subject: [jimc:m10 35/44] lib/dynamic_debug.c:854 param_set_dyndbg_module_classes() error: we previously assumed 'map' could be null (see line 841)
Date: Wed, 23 Sep 2026 11:37:30 +0300 [thread overview]
Message-ID: <202609230952.6jFrseQb-lkp@intel.com> (raw)
Message-ID: <20260923083730.tU3TSNUKFwhCP2uxI_sBnSS1CLU4Zz7LjXFByA6DyzQ@z> (raw)
tree: https://github.com/jimc/linux.git m10
head: f95e4f1e4ce035c9b5f8da68c66d83f2452d92d5
commit: feb8ec0044ac67921562346a4a6b831204667ea9 [35/44] dyndbg: resolve "protection" of class'd pr_debug
config: x86_64-randconfig-2200-20260923 (https://download.01.org/0day-ci/archive/20260923/202609230952.6jFrseQb-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609230952.6jFrseQb-lkp@intel.com/
smatch warnings:
lib/dynamic_debug.c:854 param_set_dyndbg_module_classes() error: we previously assumed 'map' could be null (see line 841)
vim +/map +854 lib/dynamic_debug.c
7f10c4fc568572 Jim Cromie 2025-11-18 832 static int param_set_dyndbg_module_classes(const char *instr,
7f10c4fc568572 Jim Cromie 2025-11-18 833 const struct kernel_param *kp,
7f10c4fc568572 Jim Cromie 2025-11-18 834 const char *mod_name)
b9400852c0801a Jim Cromie 2022-09-04 835 {
feb8ec0044ac67 Jim Cromie 2025-11-18 836 struct ddebug_class_param *dcp = kp->arg;
feb8ec0044ac67 Jim Cromie 2025-11-18 837 struct ddebug_class_map *map = dcp->map;
62b32b2a95ef1c Jim Cromie 2025-11-18 838 u32 inrep, new_bits, old_bits, old_val;
b9400852c0801a Jim Cromie 2022-09-04 839 int rc, totct = 0;
b9400852c0801a Jim Cromie 2022-09-04 840
feb8ec0044ac67 Jim Cromie 2025-11-18 @841 if (map && !map->controlling_param)
^^^
Can map really be NULL?
feb8ec0044ac67 Jim Cromie 2025-11-18 842 map->controlling_param = dcp;
feb8ec0044ac67 Jim Cromie 2025-11-18 843
62b32b2a95ef1c Jim Cromie 2025-11-18 844 rc = kstrtou32(instr, 0, &inrep);
b9400852c0801a Jim Cromie 2022-09-04 845 if (rc) {
cec8bafd130370 Jim Cromie 2025-11-18 846 int len = strcspn(instr, "\n");
cec8bafd130370 Jim Cromie 2025-11-18 847
cec8bafd130370 Jim Cromie 2025-11-18 848 pr_err("expecting numeric input, not: %.*s > %s\n",
cec8bafd130370 Jim Cromie 2025-11-18 849 len, instr, KP_NAME(kp));
b9400852c0801a Jim Cromie 2022-09-04 850 return -EINVAL;
b9400852c0801a Jim Cromie 2022-09-04 851 }
d88925c4b39c80 Jim Cromie 2025-11-18 852 ddebug_class_param_clamp_input(&inrep, kp);
b9400852c0801a Jim Cromie 2022-09-04 853
b9400852c0801a Jim Cromie 2022-09-04 @854 switch (map->map_type) {
^^^^^
Because if so we are in trouble.
b9400852c0801a Jim Cromie 2022-09-04 855 case DD_CLASS_TYPE_DISJOINT_BITS:
7f10c4fc568572 Jim Cromie 2025-11-18 856 old_val = READ_ONCE(*dcp->bits);
62b32b2a95ef1c Jim Cromie 2025-11-18 857 v2pr_info("bits:0x%x > %s.%s\n", inrep, mod_name ?: "*", KP_NAME(kp));
a62837264de615 Jim Cromie 2025-11-18 858 totct += ddebug_apply_class_bitmap(dcp, &inrep, old_val, mod_name);
7f10c4fc568572 Jim Cromie 2025-11-18 859 WRITE_ONCE(*dcp->bits, inrep);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-09-23 7:29 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-23 7:28 kernel test robot [this message]
2026-09-23 8:37 ` [jimc:m10 35/44] lib/dynamic_debug.c:854 param_set_dyndbg_module_classes() error: we previously assumed 'map' could be null (see line 841) Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202609230952.6jFrseQb-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.