Chunyu Hu
475bb3c69a
tracing: Fix kmemleak in tracing_map_array_free()
kmemleak reported the below leak when I was doing clear of the hist
trigger. With this patch, the kmeamleak is gone.
unreferenced object 0xffff94322b63d760 (size 32):
comm "bash", pid 1522, jiffies 4403687962 (age 2442.311s)
hex dump (first 32 bytes):
00 01 00 00 04 00 00 00 08 00 00 00 ff 00 00 00 ................
10 00 00 00 00 00 00 00 80 a8 7a f2 31 94 ff ff ..........z.1...
backtrace:
[<ffffffff9e96c27a>] kmemleak_alloc+0x4a/0xa0
[<ffffffff9e424cba>] kmem_cache_alloc_trace+0xca/0x1d0
[<ffffffff9e377736>] tracing_map_array_alloc+0x26/0x140
[<ffffffff9e261be0>] kretprobe_trampoline+0x0/0x50
[<ffffffff9e38b935>] create_hist_data+0x535/0x750
[<ffffffff9e38bd47>] event_hist_trigger_func+0x1f7/0x420
[<ffffffff9e38893d>] event_trigger_write+0xfd/0x1a0
[<ffffffff9e44dfc7>] __vfs_write+0x37/0x170
[<ffffffff9e44f552>] vfs_write+0xb2/0x1b0
[<ffffffff9e450b85>] SyS_write+0x55/0xc0
[<ffffffff9e203857>] do_syscall_64+0x67/0x150
[<ffffffff9e977ce7>] return_from_SYSCALL_64+0x0/0x6a
[<ffffffffffffffff>] 0xffffffffffffffff
unreferenced object 0xffff9431f27aa880 (size 128):
comm "bash", pid 1522, jiffies 4403687962 (age 2442.311s)
hex dump (first 32 bytes):
00 00 8c 2a 32 94 ff ff 00 f0 8b 2a 32 94 ff ff ...*2......*2...
00 e0 8b 2a 32 94 ff ff 00 d0 8b 2a 32 94 ff ff ...*2......*2...
backtrace:
[<ffffffff9e96c27a>] kmemleak_alloc+0x4a/0xa0
[<ffffffff9e425348>] __kmalloc+0xe8/0x220
[<ffffffff9e3777c1>] tracing_map_array_alloc+0xb1/0x140
[<ffffffff9e261be0>] kretprobe_trampoline+0x0/0x50
[<ffffffff9e38b935>] create_hist_data+0x535/0x750
[<ffffffff9e38bd47>] event_hist_trigger_func+0x1f7/0x420
[<ffffffff9e38893d>] event_trigger_write+0xfd/0x1a0
[<ffffffff9e44dfc7>] __vfs_write+0x37/0x170
[<ffffffff9e44f552>] vfs_write+0xb2/0x1b0
[<ffffffff9e450b85>] SyS_write+0x55/0xc0
[<ffffffff9e203857>] do_syscall_64+0x67/0x150
[<ffffffff9e977ce7>] return_from_SYSCALL_64+0x0/0x6a
[<ffffffffffffffff>] 0xffffffffffffffff
Link: http://lkml.kernel.org/r/1502705898-27571-1-git-send-email-chuhu@redhat.com
Cc: stable@vger.kernel.org
Fixes: 08d43a5fa0 ("tracing: Add lock-free tracing_map")
Signed-off-by: Chunyu Hu <chuhu@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
|
2017-08-24 10:05:51 -04:00 |
| .. |
|
blktrace.c
|
block: switch bios to blk_status_t
|
2017-06-09 09:27:32 -06:00 |
|
bpf_trace.c
|
bpf: extend bpf_trace_printk to support %i
|
2017-07-03 02:22:52 -07:00 |
|
ftrace.c
|
ftrace: Check for null ret_stack on profile function graph entry function
|
2017-08-24 10:04:01 -04:00 |
|
Kconfig
|
tracing: Rename update the enum_map file
|
2017-06-13 17:13:06 -04:00 |
|
Makefile
|
perf/core: Rename CONFIG_[UK]PROBE_EVENT to CONFIG_[UK]PROBE_EVENTS
|
2017-03-01 10:26:39 +01:00 |
|
power-traces.c
|
|
|
|
ring_buffer.c
|
ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU
|
2017-08-02 14:23:02 -04:00 |
|
ring_buffer_benchmark.c
|
ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU
|
2017-08-02 14:23:02 -04:00 |
|
rpm-traces.c
|
|
|
|
trace.c
|
ring-buffer: Have ring_buffer_alloc_read_page() return error on offline CPU
|
2017-08-02 14:23:02 -04:00 |
|
trace.h
|
trace: fix the errors caused by incompatible type of RCU variables
|
2017-07-20 09:27:29 -04:00 |
|
trace_benchmark.c
|
tracing: Have the trace_event benchmark thread call cond_resched_rcu_qs()
|
2017-04-17 15:21:19 -04:00 |
|
trace_benchmark.h
|
tracing: Have the reg function allow to fail
|
2016-12-09 09:13:30 -05:00 |
|
trace_branch.c
|
tracing: Add the constant count for branch tracer
|
2017-01-19 08:57:41 -05:00 |
|
trace_clock.c
|
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/clock.h>
|
2017-03-02 08:42:27 +01:00 |
|
trace_entries.h
|
trace: make trace_hwlat timestamp y2038 safe
|
2017-05-08 17:15:15 -07:00 |
|
trace_event_perf.c
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
|
2016-05-17 16:26:30 -07:00 |
|
trace_events.c
|
tracing: Add support for recording tgid of tasks
|
2017-06-27 13:30:28 -04:00 |
|
trace_events_filter.c
|
tracing/filter: Define op as the enum that it is
|
2016-11-14 16:42:59 -05:00 |
|
trace_events_filter_test.h
|
|
|
|
trace_events_hist.c
|
sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h>
|
2017-03-02 08:42:38 +01:00 |
|
trace_events_trigger.c
|
sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h>
|
2017-03-02 08:42:38 +01:00 |
|
trace_export.c
|
|
|
|
trace_functions.c
|
ftrace: Fix regression with module command in stack_trace_filter
|
2017-06-29 10:05:45 -04:00 |
|
trace_functions_graph.c
|
tracing/fgraph: Have wakeup and irqsoff tracers ignore graph functions too
|
2016-12-09 09:21:35 -05:00 |
|
trace_hwlat.c
|
trace: make trace_hwlat timestamp y2038 safe
|
2017-05-08 17:15:15 -07:00 |
|
trace_irqsoff.c
|
clocksource: Use a plain u64 instead of cycle_t
|
2016-12-25 11:04:12 +01:00 |
|
trace_kdb.c
|
|
|
|
trace_kprobe.c
|
A few more minor updates:
|
2017-07-13 13:17:19 -07:00 |
|
trace_mmiotrace.c
|
tracing: Expose CPU physical addresses (resource values) for PCI devices
|
2016-06-20 09:54:22 -04:00 |
|
trace_nop.c
|
|
|
|
trace_output.c
|
tracing: Add support for display of tgid in trace output
|
2017-06-27 13:30:28 -04:00 |
|
trace_output.h
|
|
|
|
trace_printk.c
|
tracing: Handle NULL formats in hold_module_trace_bprintk_format()
|
2016-06-20 09:46:12 -04:00 |
|
trace_probe.c
|
tracing/probes: Fix a warning message to show correct maximum length
|
2017-02-15 10:32:48 -05:00 |
|
trace_probe.h
|
perf/core: Rename CONFIG_[UK]PROBE_EVENT to CONFIG_[UK]PROBE_EVENTS
|
2017-03-01 10:26:39 +01:00 |
|
trace_sched_switch.c
|
tracing: Add support for recording tgid of tasks
|
2017-06-27 13:30:28 -04:00 |
|
trace_sched_wakeup.c
|
clocksource: Use a plain u64 instead of cycle_t
|
2016-12-25 11:04:12 +01:00 |
|
trace_selftest.c
|
sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>
|
2017-03-02 08:42:27 +01:00 |
|
trace_selftest_dynamic.c
|
|
|
|
trace_seq.c
|
|
|
|
trace_stack.c
|
tracing: Do note expose stack_trace_filter without DYNAMIC_FTRACE
|
2017-07-11 19:21:04 -04:00 |
|
trace_stat.c
|
|
|
|
trace_stat.h
|
|
|
|
trace_syscalls.c
|
tracing/syscalls: fix multiline in error message text
|
2016-09-29 10:25:23 +02:00 |
|
trace_uprobe.c
|
sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h> in <linux/sched.h>
|
2017-03-02 08:42:38 +01:00 |
|
tracing_map.c
|
tracing: Fix kmemleak in tracing_map_array_free()
|
2017-08-24 10:05:51 -04:00 |
|
tracing_map.h
|
|
|