aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2025-08-12 12:39:09 +0200
committerPeter Zijlstra <peterz@infradead.org>2025-08-15 13:13:01 +0200
commit191759e5ea9f6995171ed2ffcc41a2377f946a3a (patch)
treec71cd1aa41c763fffffec3c651c811d67328d7da /kernel
parentperf: Split out the AUX buffer allocation (diff)
downloadlinux-191759e5ea9f6995171ed2ffcc41a2377f946a3a.tar.gz
linux-191759e5ea9f6995171ed2ffcc41a2377f946a3a.zip
perf: Make RB allocation branch self sufficient
Ensure @rb usage doesn't extend out of the branch block. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Link: https://lore.kernel.org/r/20250812104019.605285302@infradead.org
Diffstat (limited to 'kernel')
-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 e76afd9c1759..875c27b28e9b 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7116,8 +7116,6 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma)
* multiple times.
*/
ret = 0;
- /* We need the rb to map pages. */
- rb = event->rb;
perf_mmap_account(vma, user_extra, extra);
atomic_inc(&event->mmap_count);
goto unlock;
@@ -7136,8 +7134,6 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma)
goto unlock;
}
- WARN_ON(!rb && event->rb);
-
if (vma->vm_flags & VM_WRITE)
flags |= RING_BUFFER_WRITABLE;
@@ -7190,7 +7186,7 @@ unlock:
* full cleanup in this case and therefore does not invoke
* vmops::close().
*/
- ret = map_range(rb, vma);
+ ret = map_range(event->rb, vma);
if (ret)
perf_mmap_close(vma);