diff for duplicates of <202201250054.975KVd1O-lkp@intel.com> diff --git a/a/1.txt b/N1/1.txt index 5fafd01..788a8c5 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,14 +1,6 @@ -CC: kbuild-all(a)lists.01.org -CC: linux-kernel(a)vger.kernel.org -TO: Tom Zanussi <zanussi@kernel.org> -CC: Steven Rostedt <rostedt@goodmis.org> - tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0 commit: 9ec5a7d16899ed9062cc4c3dd3a13e1771411ab3 tracing: Change event_command func() to parse() -date: 2 weeks ago -:::::: branch date: 25 hours ago -:::::: commit date: 2 weeks ago config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 @@ -21,7 +13,6 @@ kernel/trace/trace_events_hist.c:6174 event_hist_trigger_parse() error: we previ vim +/glob +6174 kernel/trace/trace_events_hist.c -52a7f16dedff8f Tom Zanussi 2016-03-03 6148 9ec5a7d16899ed Tom Zanussi 2022-01-10 6149 static int event_hist_trigger_parse(struct event_command *cmd_ops, 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6150 struct trace_event_file *file, 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6151 char *glob, char *cmd, char *param) @@ -40,6 +31,9 @@ c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6161 char *trigger, *p, *st 0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6164 lockdep_assert_held(&event_mutex); 0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6165 f404da6e1d46ce Tom Zanussi 2018-01-15 @6166 if (glob && strlen(glob)) { + +Check for NULL + f404da6e1d46ce Tom Zanussi 2018-01-15 6167 hist_err_clear(); a1a05bb40e229d Tom Zanussi 2019-03-31 6168 last_cmd_set(file, param); f404da6e1d46ce Tom Zanussi 2018-01-15 6169 } @@ -48,167 +42,11 @@ f404da6e1d46ce Tom Zanussi 2018-01-15 6170 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6172 return -EINVAL; 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6173 30350d65ac5676 Tom Zanussi 2018-01-15 @6174 if (glob[0] == '!') -30350d65ac5676 Tom Zanussi 2018-01-15 6175 remove = true; -30350d65ac5676 Tom Zanussi 2018-01-15 6176 -ec5ce098754108 Tom Zanussi 2018-01-15 6177 /* -ec5ce098754108 Tom Zanussi 2018-01-15 6178 * separate the trigger from the filter (k:v [if filter]) -ec5ce098754108 Tom Zanussi 2018-01-15 6179 * allowing for whitespace in the trigger -ec5ce098754108 Tom Zanussi 2018-01-15 6180 */ -ec5ce098754108 Tom Zanussi 2018-01-15 6181 p = trigger = param; -ec5ce098754108 Tom Zanussi 2018-01-15 6182 do { -ec5ce098754108 Tom Zanussi 2018-01-15 6183 p = strstr(p, "if"); -ec5ce098754108 Tom Zanussi 2018-01-15 6184 if (!p) -ec5ce098754108 Tom Zanussi 2018-01-15 6185 break; -ec5ce098754108 Tom Zanussi 2018-01-15 6186 if (p == param) -ec5ce098754108 Tom Zanussi 2018-01-15 6187 return -EINVAL; -ec5ce098754108 Tom Zanussi 2018-01-15 6188 if (*(p - 1) != ' ' && *(p - 1) != '\t') { -ec5ce098754108 Tom Zanussi 2018-01-15 6189 p++; -ec5ce098754108 Tom Zanussi 2018-01-15 6190 continue; -ec5ce098754108 Tom Zanussi 2018-01-15 6191 } -2f31ed9308cc9e Tom Zanussi 2018-12-18 6192 if (p >= param + strlen(param) - (sizeof("if") - 1) - 1) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6193 return -EINVAL; -2f31ed9308cc9e Tom Zanussi 2018-12-18 6194 if (*(p + sizeof("if") - 1) != ' ' && *(p + sizeof("if") - 1) != '\t') { -ec5ce098754108 Tom Zanussi 2018-01-15 6195 p++; -ec5ce098754108 Tom Zanussi 2018-01-15 6196 continue; -ec5ce098754108 Tom Zanussi 2018-01-15 6197 } -ec5ce098754108 Tom Zanussi 2018-01-15 6198 break; -ec5ce098754108 Tom Zanussi 2018-01-15 6199 } while (p); -ec5ce098754108 Tom Zanussi 2018-01-15 6200 -ec5ce098754108 Tom Zanussi 2018-01-15 6201 if (!p) -ec5ce098754108 Tom Zanussi 2018-01-15 6202 param = NULL; -ec5ce098754108 Tom Zanussi 2018-01-15 6203 else { -ec5ce098754108 Tom Zanussi 2018-01-15 6204 *(p - 1) = '\0'; -ec5ce098754108 Tom Zanussi 2018-01-15 6205 param = strstrip(p); -ec5ce098754108 Tom Zanussi 2018-01-15 6206 trigger = strstrip(trigger); -ec5ce098754108 Tom Zanussi 2018-01-15 6207 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6208 -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6209 /* -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6210 * To simplify arithmetic expression parsing, replace occurrences of -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6211 * '.sym-offset' modifier with '.symXoffset' -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6212 */ -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6213 start = strstr(trigger, ".sym-offset"); -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6214 while (start) { -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6215 *(start + 4) = 'X'; -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6216 start = strstr(start + 11, ".sym-offset"); -feea69ec121f06 kernel test robot 2021-10-30 6217 } -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6218 -d0cd871ba0d613 Steven Rostedt (VMware 2019-04-01 6219) attrs = parse_hist_trigger_attrs(file->tr, trigger); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6220 if (IS_ERR(attrs)) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6221 return PTR_ERR(attrs); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6222 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6223 if (attrs->map_bits) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6224 hist_trigger_bits = attrs->map_bits; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6225 -30350d65ac5676 Tom Zanussi 2018-01-15 6226 hist_data = create_hist_data(hist_trigger_bits, attrs, file, remove); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6227 if (IS_ERR(hist_data)) { -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6228 destroy_hist_trigger_attrs(attrs); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6229 return PTR_ERR(hist_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6230 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6231 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6232 trigger_ops = cmd_ops->get_trigger_ops(cmd, trigger); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6233 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6234 trigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL); -4b147936fa5096 Tom Zanussi 2018-01-15 6235 if (!trigger_data) { -4b147936fa5096 Tom Zanussi 2018-01-15 6236 ret = -ENOMEM; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6237 goto out_free; -4b147936fa5096 Tom Zanussi 2018-01-15 6238 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6239 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6240 trigger_data->count = -1; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6241 trigger_data->ops = trigger_ops; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6242 trigger_data->cmd_ops = cmd_ops; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6243 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6244 INIT_LIST_HEAD(&trigger_data->list); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6245 RCU_INIT_POINTER(trigger_data->filter, NULL); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6246 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6247 trigger_data->private_data = hist_data; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6248 -52a7f16dedff8f Tom Zanussi 2016-03-03 6249 /* if param is non-empty, it's supposed to be a filter */ -52a7f16dedff8f Tom Zanussi 2016-03-03 6250 if (param && cmd_ops->set_filter) { -52a7f16dedff8f Tom Zanussi 2016-03-03 6251 ret = cmd_ops->set_filter(param, trigger_data, file); -52a7f16dedff8f Tom Zanussi 2016-03-03 6252 if (ret < 0) -52a7f16dedff8f Tom Zanussi 2016-03-03 6253 goto out_free; -52a7f16dedff8f Tom Zanussi 2016-03-03 6254 } -52a7f16dedff8f Tom Zanussi 2016-03-03 6255 -30350d65ac5676 Tom Zanussi 2018-01-15 6256 if (remove) { -4b147936fa5096 Tom Zanussi 2018-01-15 6257 if (!have_hist_trigger_match(trigger_data, file)) -4b147936fa5096 Tom Zanussi 2018-01-15 6258 goto out_free; -4b147936fa5096 Tom Zanussi 2018-01-15 6259 -067fe038e70f6e Tom Zanussi 2018-01-15 6260 if (hist_trigger_check_refs(trigger_data, file)) { -067fe038e70f6e Tom Zanussi 2018-01-15 6261 ret = -EBUSY; -067fe038e70f6e Tom Zanussi 2018-01-15 6262 goto out_free; -067fe038e70f6e Tom Zanussi 2018-01-15 6263 } -067fe038e70f6e Tom Zanussi 2018-01-15 6264 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6265 cmd_ops->unreg(glob+1, trigger_ops, trigger_data, file); -4b147936fa5096 Tom Zanussi 2018-01-15 6266 se_name = trace_event_name(file->event_call); -4b147936fa5096 Tom Zanussi 2018-01-15 6267 se = find_synth_event(se_name); -4b147936fa5096 Tom Zanussi 2018-01-15 6268 if (se) -4b147936fa5096 Tom Zanussi 2018-01-15 6269 se->ref--; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6270 ret = 0; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6271 goto out_free; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6272 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6273 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6274 ret = cmd_ops->reg(glob, trigger_ops, trigger_data, file); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6275 /* -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6276 * The above returns on success the # of triggers registered, -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6277 * but if it didn't register any it returns zero. Consider no -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6278 * triggers registered a failure too. -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6279 */ -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6280 if (!ret) { -e86ae9baacfa9e Tom Zanussi 2016-03-03 6281 if (!(attrs->pause || attrs->cont || attrs->clear)) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6282 ret = -ENOENT; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6283 goto out_free; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6284 } else if (ret < 0) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6285 goto out_free; -067fe038e70f6e Tom Zanussi 2018-01-15 6286 -067fe038e70f6e Tom Zanussi 2018-01-15 6287 if (get_named_trigger_data(trigger_data)) -067fe038e70f6e Tom Zanussi 2018-01-15 6288 goto enable; -067fe038e70f6e Tom Zanussi 2018-01-15 6289 -067fe038e70f6e Tom Zanussi 2018-01-15 6290 if (has_hist_vars(hist_data)) -067fe038e70f6e Tom Zanussi 2018-01-15 6291 save_hist_vars(hist_data); -067fe038e70f6e Tom Zanussi 2018-01-15 6292 -7d18a10c316783 Tom Zanussi 2019-02-13 6293 ret = create_actions(hist_data); -0212e2aa30e112 Tom Zanussi 2018-01-15 6294 if (ret) -0212e2aa30e112 Tom Zanussi 2018-01-15 6295 goto out_unreg; -0212e2aa30e112 Tom Zanussi 2018-01-15 6296 -067fe038e70f6e Tom Zanussi 2018-01-15 6297 ret = tracing_map_init(hist_data->map); -067fe038e70f6e Tom Zanussi 2018-01-15 6298 if (ret) -067fe038e70f6e Tom Zanussi 2018-01-15 6299 goto out_unreg; -067fe038e70f6e Tom Zanussi 2018-01-15 6300 enable: -067fe038e70f6e Tom Zanussi 2018-01-15 6301 ret = hist_trigger_enable(trigger_data, file); -067fe038e70f6e Tom Zanussi 2018-01-15 6302 if (ret) -067fe038e70f6e Tom Zanussi 2018-01-15 6303 goto out_unreg; -067fe038e70f6e Tom Zanussi 2018-01-15 6304 -4b147936fa5096 Tom Zanussi 2018-01-15 6305 se_name = trace_event_name(file->event_call); -4b147936fa5096 Tom Zanussi 2018-01-15 6306 se = find_synth_event(se_name); -4b147936fa5096 Tom Zanussi 2018-01-15 6307 if (se) -4b147936fa5096 Tom Zanussi 2018-01-15 6308 se->ref++; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6309 /* Just return zero, not the number of registered triggers */ -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6310 ret = 0; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6311 out: -f404da6e1d46ce Tom Zanussi 2018-01-15 6312 if (ret == 0) -f404da6e1d46ce Tom Zanussi 2018-01-15 6313 hist_err_clear(); -f404da6e1d46ce Tom Zanussi 2018-01-15 6314 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6315 return ret; -067fe038e70f6e Tom Zanussi 2018-01-15 6316 out_unreg: -067fe038e70f6e Tom Zanussi 2018-01-15 6317 cmd_ops->unreg(glob+1, trigger_ops, trigger_data, file); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6318 out_free: -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6319 if (cmd_ops->set_filter) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6320 cmd_ops->set_filter(NULL, trigger_data, NULL); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6321 -067fe038e70f6e Tom Zanussi 2018-01-15 6322 remove_hist_vars(hist_data); -067fe038e70f6e Tom Zanussi 2018-01-15 6323 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6324 kfree(trigger_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6325 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6326 destroy_hist_data(hist_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6327 goto out; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6328 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6329 -:::::: The code at line 6174 was first introduced by commit -:::::: 30350d65ac5676c6d08d4fc935bc9a9cb0fd4ed3 tracing: Add variable support to hist triggers +Unchecked dereference -:::::: TO: Tom Zanussi <tom.zanussi@linux.intel.com> -:::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org> +30350d65ac5676 Tom Zanussi 2018-01-15 6175 remove = true; +30350d65ac5676 Tom Zanussi 2018-01-15 6176 --- 0-DAY CI Kernel Test Service, Intel Corporation diff --git a/a/content_digest b/N1/content_digest index 91a9261..9f2a713 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,20 +1,12 @@ - "From\0kernel test robot <lkp@intel.com>\0" + "From\0Dan Carpenter <dan.carpenter@oracle.com>\0" "Subject\0kernel/trace/trace_events_hist.c:6174 event_hist_trigger_parse() error: we previously assumed 'glob' could be null (see line 6166)\0" - "Date\0Tue, 25 Jan 2022 00:54:39 +0800\0" - "To\0kbuild@lists.01.org\0" + "Date\0Wed, 26 Jan 2022 13:14:22 +0300\0" + "To\0kbuild-all@lists.01.org\0" "\01:1\0" "b\0" - "CC: kbuild-all(a)lists.01.org\n" - "CC: linux-kernel(a)vger.kernel.org\n" - "TO: Tom Zanussi <zanussi@kernel.org>\n" - "CC: Steven Rostedt <rostedt@goodmis.org>\n" - "\n" "tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master\n" "head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0\n" "commit: 9ec5a7d16899ed9062cc4c3dd3a13e1771411ab3 tracing: Change event_command func() to parse()\n" - "date: 2 weeks ago\n" - ":::::: branch date: 25 hours ago\n" - ":::::: commit date: 2 weeks ago\n" "config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp(a)intel.com/config)\n" "compiler: gcc-9 (Debian 9.3.0-22) 9.3.0\n" "\n" @@ -27,7 +19,6 @@ "\n" "vim +/glob +6174 kernel/trace/trace_events_hist.c\n" "\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6148 \n" "9ec5a7d16899ed Tom Zanussi 2022-01-10 6149 static int event_hist_trigger_parse(struct event_command *cmd_ops,\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6150 \t\t\t\t struct trace_event_file *file,\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6151 \t\t\t\t char *glob, char *cmd, char *param)\n" @@ -46,6 +37,9 @@ "0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6164 \tlockdep_assert_held(&event_mutex);\n" "0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6165 \n" "f404da6e1d46ce Tom Zanussi 2018-01-15 @6166 \tif (glob && strlen(glob)) {\n" + "\n" + "Check for NULL\n" + "\n" "f404da6e1d46ce Tom Zanussi 2018-01-15 6167 \t\thist_err_clear();\n" "a1a05bb40e229d Tom Zanussi 2019-03-31 6168 \t\tlast_cmd_set(file, param);\n" "f404da6e1d46ce Tom Zanussi 2018-01-15 6169 \t}\n" @@ -54,170 +48,14 @@ "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6172 \t\treturn -EINVAL;\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6173 \n" "30350d65ac5676 Tom Zanussi 2018-01-15 @6174 \tif (glob[0] == '!')\n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6175 \t\tremove = true;\n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6176 \n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6177 \t/*\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6178 \t * separate the trigger from the filter (k:v [if filter])\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6179 \t * allowing for whitespace in the trigger\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6180 \t */\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6181 \tp = trigger = param;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6182 \tdo {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6183 \t\tp = strstr(p, \"if\");\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6184 \t\tif (!p)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6185 \t\t\tbreak;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6186 \t\tif (p == param)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6187 \t\t\treturn -EINVAL;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6188 \t\tif (*(p - 1) != ' ' && *(p - 1) != '\\t') {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6189 \t\t\tp++;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6190 \t\t\tcontinue;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6191 \t\t}\n" - "2f31ed9308cc9e Tom Zanussi 2018-12-18 6192 \t\tif (p >= param + strlen(param) - (sizeof(\"if\") - 1) - 1)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6193 \t\t\treturn -EINVAL;\n" - "2f31ed9308cc9e Tom Zanussi 2018-12-18 6194 \t\tif (*(p + sizeof(\"if\") - 1) != ' ' && *(p + sizeof(\"if\") - 1) != '\\t') {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6195 \t\t\tp++;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6196 \t\t\tcontinue;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6197 \t\t}\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6198 \t\tbreak;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6199 \t} while (p);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6200 \n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6201 \tif (!p)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6202 \t\tparam = NULL;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6203 \telse {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6204 \t\t*(p - 1) = '\\0';\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6205 \t\tparam = strstrip(p);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6206 \t\ttrigger = strstrip(trigger);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6207 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6208 \n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6209 \t/*\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6210 \t * To simplify arithmetic expression parsing, replace occurrences of\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6211 \t * '.sym-offset' modifier with '.symXoffset'\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6212 \t */\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6213 \tstart = strstr(trigger, \".sym-offset\");\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6214 \twhile (start) {\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6215 \t\t*(start + 4) = 'X';\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6216 \t\tstart = strstr(start + 11, \".sym-offset\");\n" - "feea69ec121f06 kernel test robot 2021-10-30 6217 \t}\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6218 \n" - "d0cd871ba0d613 Steven Rostedt (VMware 2019-04-01 6219) \tattrs = parse_hist_trigger_attrs(file->tr, trigger);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6220 \tif (IS_ERR(attrs))\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6221 \t\treturn PTR_ERR(attrs);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6222 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6223 \tif (attrs->map_bits)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6224 \t\thist_trigger_bits = attrs->map_bits;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6225 \n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6226 \thist_data = create_hist_data(hist_trigger_bits, attrs, file, remove);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6227 \tif (IS_ERR(hist_data)) {\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6228 \t\tdestroy_hist_trigger_attrs(attrs);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6229 \t\treturn PTR_ERR(hist_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6230 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6231 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6232 \ttrigger_ops = cmd_ops->get_trigger_ops(cmd, trigger);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6233 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6234 \ttrigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6235 \tif (!trigger_data) {\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6236 \t\tret = -ENOMEM;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6237 \t\tgoto out_free;\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6238 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6239 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6240 \ttrigger_data->count = -1;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6241 \ttrigger_data->ops = trigger_ops;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6242 \ttrigger_data->cmd_ops = cmd_ops;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6243 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6244 \tINIT_LIST_HEAD(&trigger_data->list);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6245 \tRCU_INIT_POINTER(trigger_data->filter, NULL);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6246 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6247 \ttrigger_data->private_data = hist_data;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6248 \n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6249 \t/* if param is non-empty, it's supposed to be a filter */\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6250 \tif (param && cmd_ops->set_filter) {\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6251 \t\tret = cmd_ops->set_filter(param, trigger_data, file);\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6252 \t\tif (ret < 0)\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6253 \t\t\tgoto out_free;\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6254 \t}\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6255 \n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6256 \tif (remove) {\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6257 \t\tif (!have_hist_trigger_match(trigger_data, file))\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6258 \t\t\tgoto out_free;\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6259 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6260 \t\tif (hist_trigger_check_refs(trigger_data, file)) {\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6261 \t\t\tret = -EBUSY;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6262 \t\t\tgoto out_free;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6263 \t\t}\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6264 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6265 \t\tcmd_ops->unreg(glob+1, trigger_ops, trigger_data, file);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6266 \t\tse_name = trace_event_name(file->event_call);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6267 \t\tse = find_synth_event(se_name);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6268 \t\tif (se)\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6269 \t\t\tse->ref--;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6270 \t\tret = 0;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6271 \t\tgoto out_free;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6272 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6273 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6274 \tret = cmd_ops->reg(glob, trigger_ops, trigger_data, file);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6275 \t/*\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6276 \t * The above returns on success the # of triggers registered,\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6277 \t * but if it didn't register any it returns zero. Consider no\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6278 \t * triggers registered a failure too.\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6279 \t */\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6280 \tif (!ret) {\n" - "e86ae9baacfa9e Tom Zanussi 2016-03-03 6281 \t\tif (!(attrs->pause || attrs->cont || attrs->clear))\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6282 \t\t\tret = -ENOENT;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6283 \t\tgoto out_free;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6284 \t} else if (ret < 0)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6285 \t\tgoto out_free;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6286 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6287 \tif (get_named_trigger_data(trigger_data))\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6288 \t\tgoto enable;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6289 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6290 \tif (has_hist_vars(hist_data))\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6291 \t\tsave_hist_vars(hist_data);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6292 \n" - "7d18a10c316783 Tom Zanussi 2019-02-13 6293 \tret = create_actions(hist_data);\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6294 \tif (ret)\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6295 \t\tgoto out_unreg;\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6296 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6297 \tret = tracing_map_init(hist_data->map);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6298 \tif (ret)\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6299 \t\tgoto out_unreg;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6300 enable:\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6301 \tret = hist_trigger_enable(trigger_data, file);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6302 \tif (ret)\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6303 \t\tgoto out_unreg;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6304 \n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6305 \tse_name = trace_event_name(file->event_call);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6306 \tse = find_synth_event(se_name);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6307 \tif (se)\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6308 \t\tse->ref++;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6309 \t/* Just return zero, not the number of registered triggers */\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6310 \tret = 0;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6311 out:\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6312 \tif (ret == 0)\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6313 \t\thist_err_clear();\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6314 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6315 \treturn ret;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6316 out_unreg:\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6317 \tcmd_ops->unreg(glob+1, trigger_ops, trigger_data, file);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6318 out_free:\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6319 \tif (cmd_ops->set_filter)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6320 \t\tcmd_ops->set_filter(NULL, trigger_data, NULL);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6321 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6322 \tremove_hist_vars(hist_data);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6323 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6324 \tkfree(trigger_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6325 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6326 \tdestroy_hist_data(hist_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6327 \tgoto out;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6328 }\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6329 \n" "\n" - ":::::: The code at line 6174 was first introduced by commit\n" - ":::::: 30350d65ac5676c6d08d4fc935bc9a9cb0fd4ed3 tracing: Add variable support to hist triggers\n" + "Unchecked dereference\n" "\n" - ":::::: TO: Tom Zanussi <tom.zanussi@linux.intel.com>\n" - ":::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org>\n" + "30350d65ac5676 Tom Zanussi 2018-01-15 6175 \t\tremove = true;\n" + "30350d65ac5676 Tom Zanussi 2018-01-15 6176 \n" "\n" "---\n" "0-DAY CI Kernel Test Service, Intel Corporation\n" https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org -80a2cf7a513bbb218c6ebceec4ada18bfe2386be5ecdca6e568ba67f65e152b0 +d37d9a61e692e8623c3d9791a6ba107727f68b89b37e994dfb75a7f16fe6149e
diff --git a/a/1.txt b/N2/1.txt index 5fafd01..0184850 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,15 +1,7 @@ -CC: kbuild-all(a)lists.01.org -CC: linux-kernel(a)vger.kernel.org -TO: Tom Zanussi <zanussi@kernel.org> -CC: Steven Rostedt <rostedt@goodmis.org> - tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0 commit: 9ec5a7d16899ed9062cc4c3dd3a13e1771411ab3 tracing: Change event_command func() to parse() -date: 2 weeks ago -:::::: branch date: 25 hours ago -:::::: commit date: 2 weeks ago -config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp(a)intel.com/config) +config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp@intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate @@ -21,7 +13,6 @@ kernel/trace/trace_events_hist.c:6174 event_hist_trigger_parse() error: we previ vim +/glob +6174 kernel/trace/trace_events_hist.c -52a7f16dedff8f Tom Zanussi 2016-03-03 6148 9ec5a7d16899ed Tom Zanussi 2022-01-10 6149 static int event_hist_trigger_parse(struct event_command *cmd_ops, 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6150 struct trace_event_file *file, 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6151 char *glob, char *cmd, char *param) @@ -40,6 +31,9 @@ c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6161 char *trigger, *p, *st 0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6164 lockdep_assert_held(&event_mutex); 0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6165 f404da6e1d46ce Tom Zanussi 2018-01-15 @6166 if (glob && strlen(glob)) { + +Check for NULL + f404da6e1d46ce Tom Zanussi 2018-01-15 6167 hist_err_clear(); a1a05bb40e229d Tom Zanussi 2019-03-31 6168 last_cmd_set(file, param); f404da6e1d46ce Tom Zanussi 2018-01-15 6169 } @@ -48,168 +42,12 @@ f404da6e1d46ce Tom Zanussi 2018-01-15 6170 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6172 return -EINVAL; 7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6173 30350d65ac5676 Tom Zanussi 2018-01-15 @6174 if (glob[0] == '!') -30350d65ac5676 Tom Zanussi 2018-01-15 6175 remove = true; -30350d65ac5676 Tom Zanussi 2018-01-15 6176 -ec5ce098754108 Tom Zanussi 2018-01-15 6177 /* -ec5ce098754108 Tom Zanussi 2018-01-15 6178 * separate the trigger from the filter (k:v [if filter]) -ec5ce098754108 Tom Zanussi 2018-01-15 6179 * allowing for whitespace in the trigger -ec5ce098754108 Tom Zanussi 2018-01-15 6180 */ -ec5ce098754108 Tom Zanussi 2018-01-15 6181 p = trigger = param; -ec5ce098754108 Tom Zanussi 2018-01-15 6182 do { -ec5ce098754108 Tom Zanussi 2018-01-15 6183 p = strstr(p, "if"); -ec5ce098754108 Tom Zanussi 2018-01-15 6184 if (!p) -ec5ce098754108 Tom Zanussi 2018-01-15 6185 break; -ec5ce098754108 Tom Zanussi 2018-01-15 6186 if (p == param) -ec5ce098754108 Tom Zanussi 2018-01-15 6187 return -EINVAL; -ec5ce098754108 Tom Zanussi 2018-01-15 6188 if (*(p - 1) != ' ' && *(p - 1) != '\t') { -ec5ce098754108 Tom Zanussi 2018-01-15 6189 p++; -ec5ce098754108 Tom Zanussi 2018-01-15 6190 continue; -ec5ce098754108 Tom Zanussi 2018-01-15 6191 } -2f31ed9308cc9e Tom Zanussi 2018-12-18 6192 if (p >= param + strlen(param) - (sizeof("if") - 1) - 1) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6193 return -EINVAL; -2f31ed9308cc9e Tom Zanussi 2018-12-18 6194 if (*(p + sizeof("if") - 1) != ' ' && *(p + sizeof("if") - 1) != '\t') { -ec5ce098754108 Tom Zanussi 2018-01-15 6195 p++; -ec5ce098754108 Tom Zanussi 2018-01-15 6196 continue; -ec5ce098754108 Tom Zanussi 2018-01-15 6197 } -ec5ce098754108 Tom Zanussi 2018-01-15 6198 break; -ec5ce098754108 Tom Zanussi 2018-01-15 6199 } while (p); -ec5ce098754108 Tom Zanussi 2018-01-15 6200 -ec5ce098754108 Tom Zanussi 2018-01-15 6201 if (!p) -ec5ce098754108 Tom Zanussi 2018-01-15 6202 param = NULL; -ec5ce098754108 Tom Zanussi 2018-01-15 6203 else { -ec5ce098754108 Tom Zanussi 2018-01-15 6204 *(p - 1) = '\0'; -ec5ce098754108 Tom Zanussi 2018-01-15 6205 param = strstrip(p); -ec5ce098754108 Tom Zanussi 2018-01-15 6206 trigger = strstrip(trigger); -ec5ce098754108 Tom Zanussi 2018-01-15 6207 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6208 -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6209 /* -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6210 * To simplify arithmetic expression parsing, replace occurrences of -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6211 * '.sym-offset' modifier with '.symXoffset' -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6212 */ -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6213 start = strstr(trigger, ".sym-offset"); -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6214 while (start) { -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6215 *(start + 4) = 'X'; -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6216 start = strstr(start + 11, ".sym-offset"); -feea69ec121f06 kernel test robot 2021-10-30 6217 } -c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6218 -d0cd871ba0d613 Steven Rostedt (VMware 2019-04-01 6219) attrs = parse_hist_trigger_attrs(file->tr, trigger); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6220 if (IS_ERR(attrs)) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6221 return PTR_ERR(attrs); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6222 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6223 if (attrs->map_bits) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6224 hist_trigger_bits = attrs->map_bits; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6225 -30350d65ac5676 Tom Zanussi 2018-01-15 6226 hist_data = create_hist_data(hist_trigger_bits, attrs, file, remove); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6227 if (IS_ERR(hist_data)) { -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6228 destroy_hist_trigger_attrs(attrs); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6229 return PTR_ERR(hist_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6230 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6231 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6232 trigger_ops = cmd_ops->get_trigger_ops(cmd, trigger); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6233 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6234 trigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL); -4b147936fa5096 Tom Zanussi 2018-01-15 6235 if (!trigger_data) { -4b147936fa5096 Tom Zanussi 2018-01-15 6236 ret = -ENOMEM; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6237 goto out_free; -4b147936fa5096 Tom Zanussi 2018-01-15 6238 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6239 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6240 trigger_data->count = -1; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6241 trigger_data->ops = trigger_ops; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6242 trigger_data->cmd_ops = cmd_ops; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6243 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6244 INIT_LIST_HEAD(&trigger_data->list); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6245 RCU_INIT_POINTER(trigger_data->filter, NULL); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6246 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6247 trigger_data->private_data = hist_data; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6248 -52a7f16dedff8f Tom Zanussi 2016-03-03 6249 /* if param is non-empty, it's supposed to be a filter */ -52a7f16dedff8f Tom Zanussi 2016-03-03 6250 if (param && cmd_ops->set_filter) { -52a7f16dedff8f Tom Zanussi 2016-03-03 6251 ret = cmd_ops->set_filter(param, trigger_data, file); -52a7f16dedff8f Tom Zanussi 2016-03-03 6252 if (ret < 0) -52a7f16dedff8f Tom Zanussi 2016-03-03 6253 goto out_free; -52a7f16dedff8f Tom Zanussi 2016-03-03 6254 } -52a7f16dedff8f Tom Zanussi 2016-03-03 6255 -30350d65ac5676 Tom Zanussi 2018-01-15 6256 if (remove) { -4b147936fa5096 Tom Zanussi 2018-01-15 6257 if (!have_hist_trigger_match(trigger_data, file)) -4b147936fa5096 Tom Zanussi 2018-01-15 6258 goto out_free; -4b147936fa5096 Tom Zanussi 2018-01-15 6259 -067fe038e70f6e Tom Zanussi 2018-01-15 6260 if (hist_trigger_check_refs(trigger_data, file)) { -067fe038e70f6e Tom Zanussi 2018-01-15 6261 ret = -EBUSY; -067fe038e70f6e Tom Zanussi 2018-01-15 6262 goto out_free; -067fe038e70f6e Tom Zanussi 2018-01-15 6263 } -067fe038e70f6e Tom Zanussi 2018-01-15 6264 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6265 cmd_ops->unreg(glob+1, trigger_ops, trigger_data, file); -4b147936fa5096 Tom Zanussi 2018-01-15 6266 se_name = trace_event_name(file->event_call); -4b147936fa5096 Tom Zanussi 2018-01-15 6267 se = find_synth_event(se_name); -4b147936fa5096 Tom Zanussi 2018-01-15 6268 if (se) -4b147936fa5096 Tom Zanussi 2018-01-15 6269 se->ref--; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6270 ret = 0; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6271 goto out_free; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6272 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6273 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6274 ret = cmd_ops->reg(glob, trigger_ops, trigger_data, file); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6275 /* -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6276 * The above returns on success the # of triggers registered, -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6277 * but if it didn't register any it returns zero. Consider no -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6278 * triggers registered a failure too. -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6279 */ -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6280 if (!ret) { -e86ae9baacfa9e Tom Zanussi 2016-03-03 6281 if (!(attrs->pause || attrs->cont || attrs->clear)) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6282 ret = -ENOENT; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6283 goto out_free; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6284 } else if (ret < 0) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6285 goto out_free; -067fe038e70f6e Tom Zanussi 2018-01-15 6286 -067fe038e70f6e Tom Zanussi 2018-01-15 6287 if (get_named_trigger_data(trigger_data)) -067fe038e70f6e Tom Zanussi 2018-01-15 6288 goto enable; -067fe038e70f6e Tom Zanussi 2018-01-15 6289 -067fe038e70f6e Tom Zanussi 2018-01-15 6290 if (has_hist_vars(hist_data)) -067fe038e70f6e Tom Zanussi 2018-01-15 6291 save_hist_vars(hist_data); -067fe038e70f6e Tom Zanussi 2018-01-15 6292 -7d18a10c316783 Tom Zanussi 2019-02-13 6293 ret = create_actions(hist_data); -0212e2aa30e112 Tom Zanussi 2018-01-15 6294 if (ret) -0212e2aa30e112 Tom Zanussi 2018-01-15 6295 goto out_unreg; -0212e2aa30e112 Tom Zanussi 2018-01-15 6296 -067fe038e70f6e Tom Zanussi 2018-01-15 6297 ret = tracing_map_init(hist_data->map); -067fe038e70f6e Tom Zanussi 2018-01-15 6298 if (ret) -067fe038e70f6e Tom Zanussi 2018-01-15 6299 goto out_unreg; -067fe038e70f6e Tom Zanussi 2018-01-15 6300 enable: -067fe038e70f6e Tom Zanussi 2018-01-15 6301 ret = hist_trigger_enable(trigger_data, file); -067fe038e70f6e Tom Zanussi 2018-01-15 6302 if (ret) -067fe038e70f6e Tom Zanussi 2018-01-15 6303 goto out_unreg; -067fe038e70f6e Tom Zanussi 2018-01-15 6304 -4b147936fa5096 Tom Zanussi 2018-01-15 6305 se_name = trace_event_name(file->event_call); -4b147936fa5096 Tom Zanussi 2018-01-15 6306 se = find_synth_event(se_name); -4b147936fa5096 Tom Zanussi 2018-01-15 6307 if (se) -4b147936fa5096 Tom Zanussi 2018-01-15 6308 se->ref++; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6309 /* Just return zero, not the number of registered triggers */ -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6310 ret = 0; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6311 out: -f404da6e1d46ce Tom Zanussi 2018-01-15 6312 if (ret == 0) -f404da6e1d46ce Tom Zanussi 2018-01-15 6313 hist_err_clear(); -f404da6e1d46ce Tom Zanussi 2018-01-15 6314 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6315 return ret; -067fe038e70f6e Tom Zanussi 2018-01-15 6316 out_unreg: -067fe038e70f6e Tom Zanussi 2018-01-15 6317 cmd_ops->unreg(glob+1, trigger_ops, trigger_data, file); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6318 out_free: -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6319 if (cmd_ops->set_filter) -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6320 cmd_ops->set_filter(NULL, trigger_data, NULL); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6321 -067fe038e70f6e Tom Zanussi 2018-01-15 6322 remove_hist_vars(hist_data); -067fe038e70f6e Tom Zanussi 2018-01-15 6323 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6324 kfree(trigger_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6325 -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6326 destroy_hist_data(hist_data); -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6327 goto out; -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6328 } -7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6329 -:::::: The code at line 6174 was first introduced by commit -:::::: 30350d65ac5676c6d08d4fc935bc9a9cb0fd4ed3 tracing: Add variable support to hist triggers +Unchecked dereference -:::::: TO: Tom Zanussi <tom.zanussi@linux.intel.com> -:::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org> +30350d65ac5676 Tom Zanussi 2018-01-15 6175 remove = true; +30350d65ac5676 Tom Zanussi 2018-01-15 6176 --- 0-DAY CI Kernel Test Service, Intel Corporation -https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org +https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org diff --git a/a/content_digest b/N2/content_digest index 91a9261..fab889a 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,21 +1,18 @@ - "From\0kernel test robot <lkp@intel.com>\0" + "From\0Dan Carpenter <dan.carpenter@oracle.com>\0" "Subject\0kernel/trace/trace_events_hist.c:6174 event_hist_trigger_parse() error: we previously assumed 'glob' could be null (see line 6166)\0" - "Date\0Tue, 25 Jan 2022 00:54:39 +0800\0" - "To\0kbuild@lists.01.org\0" - "\01:1\0" + "Date\0Wed, 26 Jan 2022 13:14:22 +0300\0" + "To\0kbuild@lists.01.org" + " Tom Zanussi <zanussi@kernel.org>\0" + "Cc\0lkp@intel.com" + kbuild-all@lists.01.org + linux-kernel@vger.kernel.org + " Steven Rostedt <rostedt@goodmis.org>\0" + "\00:1\0" "b\0" - "CC: kbuild-all(a)lists.01.org\n" - "CC: linux-kernel(a)vger.kernel.org\n" - "TO: Tom Zanussi <zanussi@kernel.org>\n" - "CC: Steven Rostedt <rostedt@goodmis.org>\n" - "\n" "tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master\n" "head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0\n" "commit: 9ec5a7d16899ed9062cc4c3dd3a13e1771411ab3 tracing: Change event_command func() to parse()\n" - "date: 2 weeks ago\n" - ":::::: branch date: 25 hours ago\n" - ":::::: commit date: 2 weeks ago\n" - "config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp(a)intel.com/config)\n" + "config: x86_64-randconfig-m001-20220124 (https://download.01.org/0day-ci/archive/20220125/202201250054.975KVd1O-lkp@intel.com/config)\n" "compiler: gcc-9 (Debian 9.3.0-22) 9.3.0\n" "\n" "If you fix the issue, kindly add following tag as appropriate\n" @@ -27,7 +24,6 @@ "\n" "vim +/glob +6174 kernel/trace/trace_events_hist.c\n" "\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6148 \n" "9ec5a7d16899ed Tom Zanussi 2022-01-10 6149 static int event_hist_trigger_parse(struct event_command *cmd_ops,\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6150 \t\t\t\t struct trace_event_file *file,\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6151 \t\t\t\t char *glob, char *cmd, char *param)\n" @@ -46,6 +42,9 @@ "0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6164 \tlockdep_assert_held(&event_mutex);\n" "0e2b81f7b52a1c Masami Hiramatsu 2018-11-05 6165 \n" "f404da6e1d46ce Tom Zanussi 2018-01-15 @6166 \tif (glob && strlen(glob)) {\n" + "\n" + "Check for NULL\n" + "\n" "f404da6e1d46ce Tom Zanussi 2018-01-15 6167 \t\thist_err_clear();\n" "a1a05bb40e229d Tom Zanussi 2019-03-31 6168 \t\tlast_cmd_set(file, param);\n" "f404da6e1d46ce Tom Zanussi 2018-01-15 6169 \t}\n" @@ -54,170 +53,14 @@ "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6172 \t\treturn -EINVAL;\n" "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6173 \n" "30350d65ac5676 Tom Zanussi 2018-01-15 @6174 \tif (glob[0] == '!')\n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6175 \t\tremove = true;\n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6176 \n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6177 \t/*\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6178 \t * separate the trigger from the filter (k:v [if filter])\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6179 \t * allowing for whitespace in the trigger\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6180 \t */\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6181 \tp = trigger = param;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6182 \tdo {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6183 \t\tp = strstr(p, \"if\");\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6184 \t\tif (!p)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6185 \t\t\tbreak;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6186 \t\tif (p == param)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6187 \t\t\treturn -EINVAL;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6188 \t\tif (*(p - 1) != ' ' && *(p - 1) != '\\t') {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6189 \t\t\tp++;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6190 \t\t\tcontinue;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6191 \t\t}\n" - "2f31ed9308cc9e Tom Zanussi 2018-12-18 6192 \t\tif (p >= param + strlen(param) - (sizeof(\"if\") - 1) - 1)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6193 \t\t\treturn -EINVAL;\n" - "2f31ed9308cc9e Tom Zanussi 2018-12-18 6194 \t\tif (*(p + sizeof(\"if\") - 1) != ' ' && *(p + sizeof(\"if\") - 1) != '\\t') {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6195 \t\t\tp++;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6196 \t\t\tcontinue;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6197 \t\t}\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6198 \t\tbreak;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6199 \t} while (p);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6200 \n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6201 \tif (!p)\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6202 \t\tparam = NULL;\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6203 \telse {\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6204 \t\t*(p - 1) = '\\0';\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6205 \t\tparam = strstrip(p);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6206 \t\ttrigger = strstrip(trigger);\n" - "ec5ce098754108 Tom Zanussi 2018-01-15 6207 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6208 \n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6209 \t/*\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6210 \t * To simplify arithmetic expression parsing, replace occurrences of\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6211 \t * '.sym-offset' modifier with '.symXoffset'\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6212 \t */\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6213 \tstart = strstr(trigger, \".sym-offset\");\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6214 \twhile (start) {\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6215 \t\t*(start + 4) = 'X';\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6216 \t\tstart = strstr(start + 11, \".sym-offset\");\n" - "feea69ec121f06 kernel test robot 2021-10-30 6217 \t}\n" - "c5eac6ee8bc5d3 Kalesh Singh 2021-10-25 6218 \n" - "d0cd871ba0d613 Steven Rostedt (VMware 2019-04-01 6219) \tattrs = parse_hist_trigger_attrs(file->tr, trigger);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6220 \tif (IS_ERR(attrs))\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6221 \t\treturn PTR_ERR(attrs);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6222 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6223 \tif (attrs->map_bits)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6224 \t\thist_trigger_bits = attrs->map_bits;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6225 \n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6226 \thist_data = create_hist_data(hist_trigger_bits, attrs, file, remove);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6227 \tif (IS_ERR(hist_data)) {\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6228 \t\tdestroy_hist_trigger_attrs(attrs);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6229 \t\treturn PTR_ERR(hist_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6230 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6231 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6232 \ttrigger_ops = cmd_ops->get_trigger_ops(cmd, trigger);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6233 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6234 \ttrigger_data = kzalloc(sizeof(*trigger_data), GFP_KERNEL);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6235 \tif (!trigger_data) {\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6236 \t\tret = -ENOMEM;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6237 \t\tgoto out_free;\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6238 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6239 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6240 \ttrigger_data->count = -1;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6241 \ttrigger_data->ops = trigger_ops;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6242 \ttrigger_data->cmd_ops = cmd_ops;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6243 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6244 \tINIT_LIST_HEAD(&trigger_data->list);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6245 \tRCU_INIT_POINTER(trigger_data->filter, NULL);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6246 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6247 \ttrigger_data->private_data = hist_data;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6248 \n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6249 \t/* if param is non-empty, it's supposed to be a filter */\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6250 \tif (param && cmd_ops->set_filter) {\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6251 \t\tret = cmd_ops->set_filter(param, trigger_data, file);\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6252 \t\tif (ret < 0)\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6253 \t\t\tgoto out_free;\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6254 \t}\n" - "52a7f16dedff8f Tom Zanussi 2016-03-03 6255 \n" - "30350d65ac5676 Tom Zanussi 2018-01-15 6256 \tif (remove) {\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6257 \t\tif (!have_hist_trigger_match(trigger_data, file))\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6258 \t\t\tgoto out_free;\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6259 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6260 \t\tif (hist_trigger_check_refs(trigger_data, file)) {\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6261 \t\t\tret = -EBUSY;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6262 \t\t\tgoto out_free;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6263 \t\t}\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6264 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6265 \t\tcmd_ops->unreg(glob+1, trigger_ops, trigger_data, file);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6266 \t\tse_name = trace_event_name(file->event_call);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6267 \t\tse = find_synth_event(se_name);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6268 \t\tif (se)\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6269 \t\t\tse->ref--;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6270 \t\tret = 0;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6271 \t\tgoto out_free;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6272 \t}\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6273 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6274 \tret = cmd_ops->reg(glob, trigger_ops, trigger_data, file);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6275 \t/*\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6276 \t * The above returns on success the # of triggers registered,\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6277 \t * but if it didn't register any it returns zero. Consider no\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6278 \t * triggers registered a failure too.\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6279 \t */\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6280 \tif (!ret) {\n" - "e86ae9baacfa9e Tom Zanussi 2016-03-03 6281 \t\tif (!(attrs->pause || attrs->cont || attrs->clear))\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6282 \t\t\tret = -ENOENT;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6283 \t\tgoto out_free;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6284 \t} else if (ret < 0)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6285 \t\tgoto out_free;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6286 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6287 \tif (get_named_trigger_data(trigger_data))\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6288 \t\tgoto enable;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6289 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6290 \tif (has_hist_vars(hist_data))\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6291 \t\tsave_hist_vars(hist_data);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6292 \n" - "7d18a10c316783 Tom Zanussi 2019-02-13 6293 \tret = create_actions(hist_data);\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6294 \tif (ret)\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6295 \t\tgoto out_unreg;\n" - "0212e2aa30e112 Tom Zanussi 2018-01-15 6296 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6297 \tret = tracing_map_init(hist_data->map);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6298 \tif (ret)\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6299 \t\tgoto out_unreg;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6300 enable:\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6301 \tret = hist_trigger_enable(trigger_data, file);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6302 \tif (ret)\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6303 \t\tgoto out_unreg;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6304 \n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6305 \tse_name = trace_event_name(file->event_call);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6306 \tse = find_synth_event(se_name);\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6307 \tif (se)\n" - "4b147936fa5096 Tom Zanussi 2018-01-15 6308 \t\tse->ref++;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6309 \t/* Just return zero, not the number of registered triggers */\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6310 \tret = 0;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6311 out:\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6312 \tif (ret == 0)\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6313 \t\thist_err_clear();\n" - "f404da6e1d46ce Tom Zanussi 2018-01-15 6314 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6315 \treturn ret;\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6316 out_unreg:\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6317 \tcmd_ops->unreg(glob+1, trigger_ops, trigger_data, file);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6318 out_free:\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6319 \tif (cmd_ops->set_filter)\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6320 \t\tcmd_ops->set_filter(NULL, trigger_data, NULL);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6321 \n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6322 \tremove_hist_vars(hist_data);\n" - "067fe038e70f6e Tom Zanussi 2018-01-15 6323 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6324 \tkfree(trigger_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6325 \n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6326 \tdestroy_hist_data(hist_data);\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6327 \tgoto out;\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6328 }\n" - "7ef224d1d0e3a1 Tom Zanussi 2016-03-03 6329 \n" "\n" - ":::::: The code at line 6174 was first introduced by commit\n" - ":::::: 30350d65ac5676c6d08d4fc935bc9a9cb0fd4ed3 tracing: Add variable support to hist triggers\n" + "Unchecked dereference\n" "\n" - ":::::: TO: Tom Zanussi <tom.zanussi@linux.intel.com>\n" - ":::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org>\n" + "30350d65ac5676 Tom Zanussi 2018-01-15 6175 \t\tremove = true;\n" + "30350d65ac5676 Tom Zanussi 2018-01-15 6176 \n" "\n" "---\n" "0-DAY CI Kernel Test Service, Intel Corporation\n" - https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org + https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org -80a2cf7a513bbb218c6ebceec4ada18bfe2386be5ecdca6e568ba67f65e152b0 +08436990e699ec43ab817a72c073e7a8665d37e4f10e453a7dd0524f02ae0734
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.