History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

No conflicts.

Jakub Kicinski committed 4 years ago

Commit c59400a2 parents 9c30918 dcb85f8405 files · +4030 −2043Browse files

Showing the changes to kernel/trace (3 of 405 files). Show all

Unified · Split

3 files
  1. kernel/trace/Kconfig +7 −1
  2. kernel/trace/trace.c +2 −1
  3. kernel/trace/trace_events_hist.c +8 −2
kernel/trace/Kconfig+7−1
@@ -70,10 +70,16 @@ config HAVE_C_RECORDMCOUNT · 69 unmodified lines
7070 help
7171 C version of recordmcount available?
7272
73+config HAVE_BUILDTIME_MCOUNT_SORT
74+ bool
75+ help
76+ An architecture selects this if it sorts the mcount_loc section
77+ at build time.
78+
7379 config BUILDTIME_MCOUNT_SORT
7480 bool
7581 default y
76− depends on BUILDTIME_TABLE_SORT && !S390
82+ depends on HAVE_BUILDTIME_MCOUNT_SORT && DYNAMIC_FTRACE
7783 help
7884 Sort the mcount_loc section at build time.
7985
kernel/trace/trace.c+2−1
@@ -7740,7 +7740,8 @@ static struct tracing_log_err *get_tracing_log_err(struct trace_array *tr) · 7739 unmodified lines
77407740 err = kzalloc(sizeof(*err), GFP_KERNEL);
77417741 if (!err)
77427742 err = ERR_PTR(-ENOMEM);
7743− tr->n_err_log_entries++;
7743+ else
7744+ tr->n_err_log_entries++;
77447745
77457746 return err;
77467747 }
kernel/trace/trace_events_hist.c+8−2
@@ -2503,6 +2503,8 @@ static struct hist_field *parse_unary(struct hist_trigger_data *hist_data, · 2502 unmodified lines
25032503 (HIST_FIELD_FL_TIMESTAMP | HIST_FIELD_FL_TIMESTAMP_USECS);
25042504 expr->fn = hist_field_unary_minus;
25052505 expr->operands[0] = operand1;
2506+ expr->size = operand1->size;
2507+ expr->is_signed = operand1->is_signed;
25062508 expr->operator = FIELD_OP_UNARY_MINUS;
25072509 expr->name = expr_str(expr, 0);
25082510 expr->type = kstrdup_const(operand1->type, GFP_KERNEL);
@@ -2719,6 +2721,7 @@ static struct hist_field *parse_expr(struct hist_trigger_data *hist_data, · 210 unmodified lines
27192721
27202722 /* The operand sizes should be the same, so just pick one */
27212723 expr->size = operand1->size;
2724+ expr->is_signed = operand1->is_signed;
27222725
27232726 expr->operator = field_op;
27242727 expr->type = kstrdup_const(operand1->type, GFP_KERNEL);
@@ -3935,6 +3938,7 @@ static int trace_action_create(struct hist_trigger_data *hist_data, · 1210 unmodified lines
39353938
39363939 var_ref_idx = find_var_ref_idx(hist_data, var_ref);
39373940 if (WARN_ON(var_ref_idx < 0)) {
3941+ kfree(p);
39383942 ret = var_ref_idx;
39393943 goto err;
39403944 }
@@ -6163,7 +6167,9 @@ static int event_hist_trigger_parse(struct event_command *cmd_ops, · 2222 unmodified lines
61636167
61646168 lockdep_assert_held(&event_mutex);
61656169
6166− if (glob && strlen(glob)) {
6170+ WARN_ON(!glob);
6171+
6172+ if (strlen(glob)) {
61676173 hist_err_clear();
61686174 last_cmd_set(file, param);
61696175 }
@@ -6196,7 +6202,7 @@ static int event_hist_trigger_parse(struct event_command *cmd_ops, · 26 unmodified lines
61966202 continue;
61976203 }
61986204 break;
6199− } while (p);
6205+ } while (1);
62006206
62016207 if (!p)
62026208 param = NULL;