perf/core: Don't release cred_guard_mutex if not taken
authorAlexander Levin <alexander.levin@verizon.com>
Sat, 3 Jun 2017 03:39:13 +0000 (03:39 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 3 Jun 2017 07:28:45 +0000 (09:28 +0200)
If we failed to acquire task's cred_guard_mutex we shouldn't proceed
to release it in the error path.

Fixes: a63fbed776c ("perf/tracing/cpuhotplug: Fix locking order")
Signed-off-by: Alexander Levin <alexander.levin@verizon.com>
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: mathieu.desnoyers@efficios.com
Cc: mhiramat@kernel.org
Cc: paulmck@linux.vnet.ibm.com
Cc: bigeasy@linutronix.de
Link: http://lkml.kernel.org/r/20170603033903.12056-1-alexander.levin@verizon.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/events/core.c

index b97cda4d17779fbf5ef53acae48a738234b77a42..1f1b8cdaca2d437030c92c75f0df4983dbafcdac 100644 (file)
@@ -9878,7 +9878,7 @@ SYSCALL_DEFINE5(perf_event_open,
        if (task) {
                err = mutex_lock_interruptible(&task->signal->cred_guard_mutex);
                if (err)
-                       goto err_cred;
+                       goto err_task;
 
                /*
                 * Reuse ptrace permission checks for now.