mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
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
|
||
|---|---|---|
| .. | ||
| 68000 | ||
| amiga | ||
| apollo | ||
| atari | ||
| bvme6000 | ||
| coldfire | ||
| configs | ||
| emu | ||
| fpsp040 | ||
| hp300 | ||
| ifpsp060 | ||
| include | ||
| kernel | ||
| lib | ||
| mac | ||
| math-emu | ||
| mm | ||
| mvme16x | ||
| mvme147 | ||
| q40 | ||
| sun3 | ||
| sun3x | ||
| tools/amiga | ||
| install.sh | ||
| Kbuild | ||
| Kconfig | ||
| Kconfig.bus | ||
| Kconfig.cpu | ||
| Kconfig.debug | ||
| Kconfig.devices | ||
| Kconfig.machine | ||
| Makefile | ||