diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-28 09:10:54 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-28 09:10:54 -0800 |
commit | 1ed1d3a3da224d8d2d82ad4a1f769a472a603e62 (patch) | |
tree | 7a5a01d4f7b52f3b2986a1a0e6e8edde927a9df2 | |
parent | d039f38801245ed99c0351b2259550170d7fe17b (diff) | |
parent | 73743c3b092277febbf69b250ce8ebbca0525aa2 (diff) | |
download | linux-1ed1d3a3da224d8d2d82ad4a1f769a472a603e62.tar.bz2 |
Merge tag 'perf-urgent-2021-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fix from Thomas Gleixner:
"A single fix for perf to prevent it from sending SIGTRAP to another
task from a trace point event as it's not possible to deliver a
synchronous signal to a different task from there"
* tag 'perf-urgent-2021-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf: Ignore sigtrap for tracepoints destined for other tasks
-rw-r--r-- | kernel/events/core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 523106a506ee..30d94f68c5bd 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -9759,6 +9759,9 @@ void perf_tp_event(u16 event_type, u64 count, void *record, int entry_size, continue; if (event->attr.config != entry->type) continue; + /* Cannot deliver synchronous signal to other task. */ + if (event->attr.sigtrap) + continue; if (perf_tp_event_match(event, &data, regs)) perf_swevent_event(event, count, &data, regs); } |