]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf/core: Fix perf_mmap() failure path
authorPeter Zijlstra <peterz@infradead.org>
Mon, 4 Nov 2024 13:39:24 +0000 (14:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:12:59 +0000 (11:12 +0200)
[ Upstream commit 66477c7230eb1f9b90deb8c0f4da2bac2053c329 ]

When f_ops->mmap() returns failure, m_ops->close() is *not* called.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Reviewed-by: Ravi Bangoria <ravi.bangoria@amd.com>
Link: https://lore.kernel.org/r/20241104135519.248358497@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/events/core.c

index de838d3819ca7f791772a23c18011e2f70589441..dda1670b3539a6946633cca3f83d49f5aecffc6d 100644 (file)
@@ -6834,7 +6834,7 @@ aux_unlock:
        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;