Merge branch 'for-v5.13-rc3' of...
Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull siginfo fix from Eric Biederman: "During the merge window an issue with si_perf and the siginfo ABI came up. The alpha and sparc siginfo structure layout had changed with the addition of SIGTRAP TRAP_PERF and the new field si_perf. The reason only alpha and sparc were affected is that they are the only architectures that use si_trapno. Looking deeper it was discovered that si_trapno is used for only a few select signals on alpha and sparc, and that none of the other _sigfault fields past si_addr are used at all. Which means technically no regression on alpha and sparc. While the alignment concerns might be dismissed the abuse of si_errno by SIGTRAP TRAP_PERF does have the potential to cause regressions in existing userspace. While we still have time before userspace starts using and depending on the new definition siginfo for SIGTRAP TRAP_PERF this set of changes cleans up siginfo_t. - The si_trapno field is demoted from magic alpha and sparc status and made an ordinary union member of the _sigfault member of siginfo_t. Without moving it of course. - si_perf is replaced with si_perf_data and si_perf_type ending the abuse of si_errno. - Unnecessary additions to signalfd_siginfo are removed" * 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo signal: Deliver all of the siginfo perf data in _perf signal: Factor force_sig_perf out of perf_sigtrap signal: Implement SIL_FAULT_TRAPNO siginfo: Move si_trapno inside the union inside _si_fault
Showing
- arch/m68k/kernel/signal.c 2 additions, 1 deletionarch/m68k/kernel/signal.c
- arch/x86/kernel/signal_compat.c 7 additions, 2 deletionsarch/x86/kernel/signal_compat.c
- fs/signalfd.c 9 additions, 14 deletionsfs/signalfd.c
- include/linux/compat.h 6 additions, 4 deletionsinclude/linux/compat.h
- include/linux/sched/signal.h 1 addition, 0 deletionsinclude/linux/sched/signal.h
- include/linux/signal.h 1 addition, 0 deletionsinclude/linux/signal.h
- include/uapi/asm-generic/siginfo.h 8 additions, 7 deletionsinclude/uapi/asm-generic/siginfo.h
- include/uapi/linux/perf_event.h 1 addition, 1 deletioninclude/uapi/linux/perf_event.h
- include/uapi/linux/signalfd.h 1 addition, 3 deletionsinclude/uapi/linux/signalfd.h
- kernel/events/core.c 2 additions, 9 deletionskernel/events/core.c
- kernel/signal.c 34 additions, 25 deletionskernel/signal.c
- tools/testing/selftests/perf_events/sigtrap_threads.c 7 additions, 7 deletionstools/testing/selftests/perf_events/sigtrap_threads.c
Please register or sign in to comment