On Thu, May 06, 2021 at 09:00AM +0200, Geert Uytterhoeven wrote: [...] > No changes needed for other architectures? > All m68k configs are broken with > > arch/m68k/kernel/signal.c:626:35: error: 'siginfo_t' {aka 'struct > siginfo'} has no member named 'si_perf'; did you mean 'si_errno'? > > See e.g. http://kisskb.ellerman.id.au/kisskb/buildresult/14537820/ > > There are still a few more references left to si_perf: > > $ git grep -n -w si_perf > Next/merge.log:2902:Merging userns/for-next (4cf4e48fff05 signal: sort > out si_trapno and si_perf) > arch/m68k/kernel/signal.c:626: BUILD_BUG_ON(offsetof(siginfo_t, > si_perf) != 0x10); > include/uapi/linux/perf_event.h:467: * siginfo_t::si_perf, e.g. to > permit user to identify the event. > tools/testing/selftests/perf_events/sigtrap_threads.c:46:/* Unique > value to check si_perf is correctly set from > perf_event_attr::sig_data. */ I think we're missing the below in "signal: Deliver all of the siginfo perf data in _perf". Thanks, -- Marco ------ >8 ------ diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c index a4b7ee1df211..8f215e79e70e 100644 --- a/arch/m68k/kernel/signal.c +++ b/arch/m68k/kernel/signal.c @@ -623,7 +623,8 @@ static inline void siginfo_build_tests(void) BUILD_BUG_ON(offsetof(siginfo_t, si_pkey) != 0x12); /* _sigfault._perf */ - BUILD_BUG_ON(offsetof(siginfo_t, si_perf) != 0x10); + BUILD_BUG_ON(offsetof(siginfo_t, si_perf_data) != 0x10); + BUILD_BUG_ON(offsetof(siginfo_t, si_perf_type) != 0x14); /* _sigpoll */ BUILD_BUG_ON(offsetof(siginfo_t, si_band) != 0x0c); diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index bf8143505c49..f92880a15645 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h @@ -464,7 +464,7 @@ struct perf_event_attr { /* * User provided data if sigtrap=1, passed back to user via - * siginfo_t::si_perf, e.g. to permit user to identify the event. + * siginfo_t::si_perf_data, e.g. to permit user to identify the event. */ __u64 sig_data; }; diff --git a/tools/testing/selftests/perf_events/sigtrap_threads.c b/tools/testing/selftests/perf_events/sigtrap_threads.c index fde123066a8c..8e83cf91513a 100644 --- a/tools/testing/selftests/perf_events/sigtrap_threads.c +++ b/tools/testing/selftests/perf_events/sigtrap_threads.c @@ -43,7 +43,7 @@ static struct { siginfo_t first_siginfo; /* First observed siginfo_t. */ } ctx; -/* Unique value to check si_perf is correctly set from perf_event_attr::sig_data. */ +/* Unique value to check si_perf_data is correctly set from perf_event_attr::sig_data. */ #define TEST_SIG_DATA(addr) (~(unsigned long)(addr)) static struct perf_event_attr make_event_attr(bool enabled, volatile void *addr)