Skip to content

Commit

Permalink
perf: Fixup SIGTRAP and sample_flags interaction
Browse files Browse the repository at this point in the history
The perf_event_attr::sigtrap functionality relies on data->addr being
set. However commit 7b08463 ("perf: Use sample_flags for addr")
changed this to only initialize data->addr when not 0.

Fixes: 7b08463 ("perf: Use sample_flags for addr")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/Y3426b4OimE%2FI5po%40hirez.programming.kicks-ass.net
  • Loading branch information
Peter Zijlstra committed Nov 24, 2022
1 parent eb70814 commit af169b7
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion kernel/events/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -9328,7 +9328,10 @@ static int __perf_event_overflow(struct perf_event *event,
*/
WARN_ON_ONCE(event->pending_sigtrap != pending_id);
}
event->pending_addr = data->addr;

event->pending_addr = 0;
if (data->sample_flags & PERF_SAMPLE_ADDR)
event->pending_addr = data->addr;
irq_work_queue(&event->pending_irq);
}

Expand Down

0 comments on commit af169b7

Please sign in to comment.