Browse Source

perf: Fix resource leak in failure path of perf_event_open()

perf_event_open() kfrees event after init failure which doesn't
release all resources allocated by perf_event_alloc().  Use
free_event() instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Paul Mackerras <paulus@au1.ibm.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: <stable@kernel.org>
LKML-Reference: <4BDBE237.1040809@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tejun Heo 15 years ago
parent
commit
048c852051
1 changed files with 1 additions and 1 deletions
  1. 1 1
      kernel/perf_event.c

+ 1 - 1
kernel/perf_event.c

@@ -4897,7 +4897,7 @@ err_fput_free_put_context:
 
 
 err_free_put_context:
 err_free_put_context:
 	if (err < 0)
 	if (err < 0)
-		kfree(event);
+		free_event(event);
 
 
 err_put_context:
 err_put_context:
 	if (err < 0)
 	if (err < 0)