Re: [tip:perf/core] [perf] da916e96e2: BUG:KASAN:null-ptr-deref_in_put_event

From: James Clark
Date: Tue Apr 15 2025 - 05:14:23 EST




On 15/04/2025 5:46 am, Oliver Sang wrote:
hi, Peter Zijlstra,

On Mon, Apr 14, 2025 at 09:01:38PM +0200, Peter Zijlstra wrote:
On Mon, Apr 14, 2025 at 09:59:25AM +0800, kernel test robot wrote:


Hello,

kernel test robot noticed "BUG:KASAN:null-ptr-deref_in_put_event" on:

commit: da916e96e2dedcb2d40de77a7def833d315b81a6 ("perf: Make perf_pmu_unregister() useable")
https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git perf/core

[test failed on linux-next/master 29e7bf01ed8033c9a14ed0dc990dfe2736dbcd18]

in testcase: trinity
version: trinity-x86_64-ba2360ed-1_20241228
with following parameters:

runtime: 300s
group: group-02
nr_groups: 5



config: x86_64-randconfig-078-20250407
compiler: clang-20
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)



If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202504131701.941039cd-lkp@xxxxxxxxx


Does this help?

yes, below patch fixes the issues we observed for da916e96e2. thanks

Tested-by: kernel test robot <oliver.sang@xxxxxxxxx>


Also fixes the same issues we were seeing:

Tested-by: James Clark <james.clark@xxxxxxxxxx>


---
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 2eb9cd5d86a1..528b679aaf7e 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -5687,7 +5687,7 @@ static void put_event(struct perf_event *event)
_free_event(event);
/* Matches the refcount bump in inherit_event() */
- if (parent)
+ if (parent && parent != EVENT_TOMBSTONE)
put_event(parent);
}