diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-08-12 12:39:09 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-08-15 13:13:01 +0200 |
| commit | 191759e5ea9f6995171ed2ffcc41a2377f946a3a (patch) | |
| tree | c71cd1aa41c763fffffec3c651c811d67328d7da /kernel | |
| parent | perf: Split out the AUX buffer allocation (diff) | |
| download | linux-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.c | 6 |
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); |
