]> git.karo-electronics.de Git - linux-beck.git/blobdiff - kernel/trace/trace_uprobe.c
tracing/uprobes: Fix uprobe_cpu_buffer memory leak
[linux-beck.git] / kernel / trace / trace_uprobe.c
index 930e51462dc871cf7bf038be265cc7ca281aad1c..c082a74413455da972d2c9c115001b58fe55e5a7 100644 (file)
@@ -732,9 +732,15 @@ static int uprobe_buffer_enable(void)
 
 static void uprobe_buffer_disable(void)
 {
+       int cpu;
+
        BUG_ON(!mutex_is_locked(&event_mutex));
 
        if (--uprobe_buffer_refcnt == 0) {
+               for_each_possible_cpu(cpu)
+                       free_page((unsigned long)per_cpu_ptr(uprobe_cpu_buffer,
+                                                            cpu)->buf);
+
                free_percpu(uprobe_cpu_buffer);
                uprobe_cpu_buffer = NULL;
        }