OpenCloudOS-Kernel/kernel/events
Peter Zijlstra 9bb5d40cd9 perf: Fix mmap() accounting hole
Vince's fuzzer once again found holes. This time it spotted a leak in
the locked page accounting.

When an event had redirected output and its close() was the last
reference to the buffer we didn't have a vm context to undo accounting.

Change the code to destroy the buffer on the last munmap() and detach
all redirected events at that time. This provides us the right context
to undo the vm accounting.

Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20130604084421.GI8923@twins.programming.kicks-ass.net
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-06-19 12:44:13 +02:00
..
Makefile uprobes: Move to kernel/events/ 2012-02-22 11:08:00 +01:00
callchain.c perf: Add attribute to filter out callchains 2012-08-10 12:40:57 -03:00
core.c perf: Fix mmap() accounting hole 2013-06-19 12:44:13 +02:00
hw_breakpoint.c perf/hwbp: Fix cleanup in case of kzalloc failure 2013-02-14 17:06:39 -03:00
internal.h perf: Fix mmap() accounting hole 2013-06-19 12:44:13 +02:00
ring_buffer.c perf: Fix vmalloc ring buffer pages handling 2013-05-01 12:34:46 +02:00
uprobes.c uretprobes: Remove -ENOSYS as return probes implemented 2013-04-13 15:31:58 +02:00