tree: https://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/hist-snapshot-onchange-v8 head: 095c3bd35a755500fcb3eb1a26d0c3240bb4e688 commit: f096c43e26f46d88f41bc187e620272c02d9d8d8 [19/22] tracing: Remove open-coding of hist trigger var_ref management
smatch warnings: kernel/trace/trace_events_hist.c:2549 create_var_ref() error: we previously assumed 'ref_field' could be null (see line 2541) # https://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git/commit/?id=f096c43e26f46d88f41bc187e620272c02d9d8d8 git remote add zanussi-trace https://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git git remote update zanussi-trace git checkout f096c43e26f46d88f41bc187e620272c02d9d8d8 vim +/ref_field +2549 kernel/trace/trace_events_hist.c 067fe038 Tom Zanussi 2018-01-15 2517 f096c43e Tom Zanussi 2018-12-05 2518 /** f096c43e Tom Zanussi 2018-12-05 2519 * create_var_ref - Create a variable reference and attach it to trigger f096c43e Tom Zanussi 2018-12-05 2520 * @hist_data: The trigger that will be referencing the variable f096c43e Tom Zanussi 2018-12-05 2521 * @var_field: The VAR field to create a reference to f096c43e Tom Zanussi 2018-12-05 2522 * @system: The optional system string f096c43e Tom Zanussi 2018-12-05 2523 * @event_name: The optional event_name string f096c43e Tom Zanussi 2018-12-05 2524 * f096c43e Tom Zanussi 2018-12-05 2525 * Given a variable hist_field, create a VAR_REF hist_field that f096c43e Tom Zanussi 2018-12-05 2526 * represents a reference to it. f096c43e Tom Zanussi 2018-12-05 2527 * f096c43e Tom Zanussi 2018-12-05 2528 * This function also adds the reference to the trigger that f096c43e Tom Zanussi 2018-12-05 2529 * now references the variable. f096c43e Tom Zanussi 2018-12-05 2530 * f096c43e Tom Zanussi 2018-12-05 2531 * Return: The VAR_REF field if successful, NULL if not f096c43e Tom Zanussi 2018-12-05 2532 */ f096c43e Tom Zanussi 2018-12-05 2533 static struct hist_field *create_var_ref(struct hist_trigger_data *hist_data, f096c43e Tom Zanussi 2018-12-05 2534 struct hist_field *var_field, 067fe038 Tom Zanussi 2018-01-15 2535 char *system, char *event_name) 067fe038 Tom Zanussi 2018-01-15 2536 { 067fe038 Tom Zanussi 2018-01-15 2537 unsigned long flags = HIST_FIELD_FL_VAR_REF; 067fe038 Tom Zanussi 2018-01-15 2538 struct hist_field *ref_field; 067fe038 Tom Zanussi 2018-01-15 2539 067fe038 Tom Zanussi 2018-01-15 2540 ref_field = create_hist_field(var_field->hist_data, NULL, flags, NULL); 067fe038 Tom Zanussi 2018-01-15 @2541 if (ref_field) { ^^^^^^^^^^^^^^ Check 067fe038 Tom Zanussi 2018-01-15 2542 if (init_var_ref(ref_field, var_field, system, event_name)) { 067fe038 Tom Zanussi 2018-01-15 2543 destroy_hist_field(ref_field, 0); 067fe038 Tom Zanussi 2018-01-15 2544 return NULL; 067fe038 Tom Zanussi 2018-01-15 2545 } 067fe038 Tom Zanussi 2018-01-15 2546 } 067fe038 Tom Zanussi 2018-01-15 2547 f096c43e Tom Zanussi 2018-12-05 2548 hist_data->var_refs[hist_data->n_var_refs] = ref_field; f096c43e Tom Zanussi 2018-12-05 @2549 ref_field->var_ref_idx = hist_data->n_var_refs++; ^^^^^^^^^^^^^^^^^^^^^^ Unchecked dereference f096c43e Tom Zanussi 2018-12-05 2550 067fe038 Tom Zanussi 2018-01-15 2551 return ref_field; 067fe038 Tom Zanussi 2018-01-15 2552 } 067fe038 Tom Zanussi 2018-01-15 2553 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild