diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-08-12 12:39:06 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-08-15 13:13:00 +0200 |
| commit | b33a51564e3eb6c468979f9f08d9b4ad8451bed7 (patch) | |
| tree | 9c92377dff5d460554cbd1f2cf7618da1877d56d /kernel/events | |
| parent | 41b80e1d74bdef5e48ea63d186244b9f6f82a4da (diff) | |
| download | lwn-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.c | 6 |
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) |
