Commit af169b77 authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

perf: Fixup SIGTRAP and sample_flags interaction



The perf_event_attr::sigtrap functionality relies on data->addr being
set. However commit 7b084630 ("perf: Use sample_flags for addr")
changed this to only initialize data->addr when not 0.

Fixes: 7b084630 ("perf: Use sample_flags for addr")
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/Y3426b4OimE%2FI5po%40hirez.programming.kicks-ass.net
parent eb708140
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -9328,6 +9328,9 @@ static int __perf_event_overflow(struct perf_event *event,
			 */
			WARN_ON_ONCE(event->pending_sigtrap != pending_id);
		}

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