perf: Copy perf_event_attr::sig_data on modification
authorMarco Elver <elver@google.com>
Mon, 31 Jan 2022 10:34:05 +0000 (11:34 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 2 Feb 2022 12:11:40 +0000 (13:11 +0100)
commit3c25fc97f5590060464cabfa25710970ecddbc96
tree16a12a50cc2b3d8f07d543968e4145eb096f78e8
parenta01994f5e5c79d3a35e5e8cf4252c7f2147323c3
perf: Copy perf_event_attr::sig_data on modification

The intent has always been that perf_event_attr::sig_data should also be
modifiable along with PERF_EVENT_IOC_MODIFY_ATTRIBUTES, because it is
observable by user space if SIGTRAP on events is requested.

Currently only PERF_TYPE_BREAKPOINT is modifiable, and explicitly copies
relevant breakpoint-related attributes in hw_breakpoint_copy_attr().
This misses copying perf_event_attr::sig_data.

Since sig_data is not specific to PERF_TYPE_BREAKPOINT, introduce a
helper to copy generic event-type-independent attributes on
modification.

Fixes: 97ba62b27867 ("perf: Add support for SIGTRAP on perf events")
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Link: https://lore.kernel.org/r/20220131103407.1971678-1-elver@google.com
kernel/events/core.c