kernel_optimize_test/kernel/trace
Tom Rix 46bbe5c671 tracing: fix double free
clang static analyzer reports this problem

trace_events_hist.c:3824:3: warning: Attempt to free
  released memory
    kfree(hist_data->attrs->var_defs.name[i]);

In parse_var_defs() if there is a problem allocating
var_defs.expr, the earlier var_defs.name is freed.
This free is duplicated by free_var_defs() which frees
the rest of the list.

Because free_var_defs() has to run anyway, remove the
second free fom parse_var_defs().

Link: https://lkml.kernel.org/r/20200907135845.15804-1-trix@redhat.com

Cc: stable@vger.kernel.org
Fixes: 30350d65ac ("tracing: Add variable support to hist triggers")
Reviewed-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Tom Rix <trix@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2020-09-18 13:16:40 -04:00
..
blktrace.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bpf_trace.c bpf: Remove inline from bpf_do_trace_printk 2020-08-06 16:53:17 -07:00
bpf_trace.h
fgraph.c
ftrace_internal.h
ftrace.c ftrace: Let ftrace_enable_sysctl take a kernel pointer buffer 2020-09-18 13:15:56 -04:00
Kconfig
kprobe_event_gen_test.c
Makefile Kbuild updates for v5.9 2020-08-09 14:10:26 -07:00
power-traces.c
preemptirq_delay_test.c
ring_buffer_benchmark.c sched,tracing: Convert to sched_set_fifo() 2020-07-29 11:43:53 +02:00
ring_buffer.c Tracing updates for 5.9 2020-08-07 18:29:15 -07:00
rpm-traces.c
synth_event_gen_test.c
trace_benchmark.c
trace_benchmark.h
trace_boot.c
trace_branch.c
trace_clock.c
trace_dynevent.c
trace_dynevent.h
trace_entries.h
trace_event_perf.c
trace_events_filter_test.h
trace_events_filter.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
trace_events_hist.c tracing: fix double free 2020-09-18 13:16:40 -04:00
trace_events_inject.c
trace_events_synth.c
trace_events_trigger.c
trace_events.c tracing: Use trace_sched_process_free() instead of exit() for pid tracing 2020-08-04 20:15:07 -04:00
trace_export.c
trace_functions_graph.c
trace_functions.c
trace_hwlat.c tracing/hwlat: Honor the tracing_cpumask 2020-07-30 19:35:04 -04:00
trace_irqsoff.c
trace_kdb.c
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_kprobe.c
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Make the space reserved for the pid wider 2020-09-18 12:42:11 -04:00
trace_output.h
trace_preemptirq.c
trace_printk.c
trace_probe_tmpl.h
trace_probe.c
trace_probe.h
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest_dynamic.c
trace_selftest.c
trace_seq.c
trace_stack.c
trace_stat.c
trace_stat.h
trace_synth.h
trace_syscalls.c
trace_uprobe.c tracing/uprobe: Remove dead code in trace_uprobe_register() 2020-08-03 16:16:46 -04:00
trace.c tracing: Make the space reserved for the pid wider 2020-09-18 12:42:11 -04:00
trace.h ftrace: Fix ftrace_trace_task return value 2020-08-03 16:12:31 -04:00
tracing_map.c
tracing_map.h