diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2026-02-24 13:29:09 +0100 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-02-25 15:02:34 +0100 |
| commit | c9bc1753b3cc41d0e01fbca7f035258b5f4db0ae (patch) | |
| tree | dfa7dc039675d6a1084c1eb2fc79e3330c0c3a65 /kernel/rseq.c | |
| parent | 77de62ad3de3967818c3dbe656b7336ebee461d2 (diff) | |
perf: Fix __perf_event_overflow() vs perf_remove_from_context() race
Make sure that __perf_event_overflow() runs with IRQs disabled for all
possible callchains. Specifically the software events can end up running
it with only preemption disabled.
This opens up a race vs perf_event_exit_event() and friends that will go
and free various things the overflow path expects to be present, like
the BPF program.
Fixes: 592903cdcbf6 ("perf_counter: add an event_list")
Reported-by: Simond Hu <cmdhh1767@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Simond Hu <cmdhh1767@gmail.com>
Link: https://patch.msgid.link/20260224122909.GV1395416@noisy.programming.kicks-ass.net
Diffstat (limited to 'kernel/rseq.c')
0 files changed, 0 insertions, 0 deletions
