perf: fix perf bug in fork()
[cascardo/linux.git] / kernel / events / core.c
index d640a8b..963bf13 100644 (file)
@@ -7948,8 +7948,10 @@ int perf_event_init_task(struct task_struct *child)
 
        for_each_task_context_nr(ctxn) {
                ret = perf_event_init_context(child, ctxn);
-               if (ret)
+               if (ret) {
+                       perf_event_free_task(child);
                        return ret;
+               }
        }
 
        return 0;