summaryrefslogtreecommitdiff
path: root/kernel/events
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2025-08-12 12:39:06 +0200
committerPeter Zijlstra <peterz@infradead.org>2025-08-15 13:13:00 +0200
commitb33a51564e3eb6c468979f9f08d9b4ad8451bed7 (patch)
tree9c92377dff5d460554cbd1f2cf7618da1877d56d /kernel/events
parent41b80e1d74bdef5e48ea63d186244b9f6f82a4da (diff)
downloadlwn-b33a51564e3eb6c468979f9f08d9b4ad8451bed7.tar.gz
lwn-b33a51564e3eb6c468979f9f08d9b4ad8451bed7.zip
perf: Use guard() for aux_mutex in perf_mmap()
After duplicating the common code into the rb/aux branches is it possible to use a simple guard() for the aux_mutex. Making the aux branch self-contained. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Link: https://lore.kernel.org/r/20250812104019.246250452@infradead.org
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/core.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 89fb069913d0..236c60adde88 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -6975,7 +6975,6 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma)
struct perf_event *event = file->private_data;
unsigned long vma_size, nr_pages;
long user_extra = 0, extra = 0;
- struct mutex *aux_mutex = NULL;
struct perf_buffer *rb = NULL;
int ret, flags = 0;
mapped_f mapped;
@@ -7100,8 +7099,7 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma)
if (!rb)
goto unlock;
- aux_mutex = &rb->aux_mutex;
- mutex_lock(aux_mutex);
+ guard(mutex)(&rb->aux_mutex);
aux_offset = READ_ONCE(rb->user_page->aux_offset);
aux_size = READ_ONCE(rb->user_page->aux_size);
@@ -7161,8 +7159,6 @@ aux_success:
}
unlock:
- if (aux_mutex)
- mutex_unlock(aux_mutex);
mutex_unlock(&event->mmap_mutex);
if (ret)