ring_buffer_attach(event, NULL);
}
+ if (!perf_mmap_calc_limits(vma, &user_extra, &extra)) {
+ ret = -EPERM;
+ goto unlock;
+ }
+
+ WARN_ON(!rb && event->rb);
+
+ if (vma->vm_flags & VM_WRITE)
+ flags |= RING_BUFFER_WRITABLE;
+
} else {
/*
* AUX area mapping: if rb->aux_nr_pages != 0, it's already
ret = 0;
goto unlock;
}
- }
- if (!perf_mmap_calc_limits(vma, &user_extra, &extra)) {
- ret = -EPERM;
- goto unlock;
- }
+ if (!perf_mmap_calc_limits(vma, &user_extra, &extra)) {
+ ret = -EPERM;
+ goto unlock;
+ }
- WARN_ON(!rb && event->rb);
+ WARN_ON(!rb && event->rb);
- if (vma->vm_flags & VM_WRITE)
- flags |= RING_BUFFER_WRITABLE;
+ if (vma->vm_flags & VM_WRITE)
+ flags |= RING_BUFFER_WRITABLE;
+ }
if (!rb) {
rb = rb_alloc(nr_pages,