From 098132cd89f64beb4a0023f171e7ae5469625661 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 1 Oct 2020 18:31:07 +0200 Subject: [PATCH] Revert "perf: Use new infrastructure to fix deadlocks in execve" This reverts commit a48cf1c921a7072324b5ce245ccddffec4c970dd which is commit 6914303824bb572278568330d72fc1f8f9814e67 upstream. It breaks the API and we don't need it right now in the 5.4 tree. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: Icdb1a92d25a1cf06aa1627c727da715ee9aac49f --- kernel/events/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index 3a7bb69e9d6e..a8699fdcce8b 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1254,7 +1254,7 @@ static void put_ctx(struct perf_event_context *ctx) * function. * * Lock order: - * exec_update_mutex + * cred_guard_mutex * task_struct::perf_event_mutex * perf_event_context::mutex * perf_event::child_mutex; @@ -11037,14 +11037,14 @@ SYSCALL_DEFINE5(perf_event_open, } if (task) { - err = mutex_lock_interruptible(&task->signal->exec_update_mutex); + err = mutex_lock_interruptible(&task->signal->cred_guard_mutex); if (err) goto err_task; /* * Reuse ptrace permission checks for now. * - * We must hold exec_update_mutex across this and any potential + * We must hold cred_guard_mutex across this and any potential * perf_install_in_context() call for this new event to * serialize against exec() altering our credentials (and the * perf_event_exit_task() that could imply). @@ -11333,7 +11333,7 @@ SYSCALL_DEFINE5(perf_event_open, mutex_unlock(&ctx->mutex); if (task) { - mutex_unlock(&task->signal->exec_update_mutex); + mutex_unlock(&task->signal->cred_guard_mutex); put_task_struct(task); } @@ -11369,7 +11369,7 @@ err_alloc: free_event(event); err_cred: if (task) - mutex_unlock(&task->signal->exec_update_mutex); + mutex_unlock(&task->signal->cred_guard_mutex); err_task: if (task) put_task_struct(task); @@ -11674,7 +11674,7 @@ static void perf_event_exit_task_context(struct task_struct *child, int ctxn) /* * When a child task exits, feed back event values to parent events. * - * Can be called with exec_update_mutex held when called from + * Can be called with cred_guard_mutex held when called from * install_exec_creds(). */ void perf_event_exit_task(struct task_struct *child)