diff --git a/kernel/events/core.c b/kernel/events/core.c index 8b2a8c36d124..b2334d27511b 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -6903,7 +6903,7 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma) if (!ret) ret = map_range(rb, vma); - if (event->pmu->event_mapped) + if (!ret && event->pmu->event_mapped) event->pmu->event_mapped(event, vma->vm_mm); return ret;