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

Reply via email to