Re: [RFC][PATCH 0/3] signal: Move si_trapno into the _si_fault union

From: Eric W. Biederman
Date: Fri Apr 30 2021 - 19:48:24 EST



Well with 7 patches instead of 3 that was a little more than I thought
I was going to send.

However that does demonstrate what I am thinking, and I think most of
the changes are reasonable at this point.

I am very curious how synchronous this all is, because if this code
is truly synchronous updating signalfd to handle this class of signal
doesn't really make sense.

If the code is not synchronous using force_sig is questionable.

Eric W. Biederman (7):
siginfo: Move si_trapno inside the union inside _si_fault
signal: Implement SIL_FAULT_TRAPNO
signal: Use dedicated helpers to send signals with si_trapno set
signal: Remove __ARCH_SI_TRAPNO
signal: Rename SIL_PERF_EVENT SIL_FAULT_PERF_EVENT for consistency
signal: Factor force_sig_perf out of perf_sigtrap
signal: Deliver all of the perf_data in si_perf

arch/alpha/include/uapi/asm/siginfo.h | 2 -
arch/alpha/kernel/osf_sys.c | 2 +-
arch/alpha/kernel/signal.c | 4 +-
arch/alpha/kernel/traps.c | 24 ++++----
arch/alpha/mm/fault.c | 4 +-
arch/mips/include/uapi/asm/siginfo.h | 2 -
arch/sparc/include/uapi/asm/siginfo.h | 3 -
arch/sparc/kernel/process_64.c | 2 +-
arch/sparc/kernel/sys_sparc_32.c | 2 +-
arch/sparc/kernel/sys_sparc_64.c | 2 +-
arch/sparc/kernel/traps_32.c | 22 +++----
arch/sparc/kernel/traps_64.c | 44 ++++++--------
arch/sparc/kernel/unaligned_32.c | 2 +-
arch/sparc/mm/fault_32.c | 2 +-
arch/sparc/mm/fault_64.c | 2 +-
fs/signalfd.c | 13 ++--
include/linux/compat.h | 9 +--
include/linux/sched/signal.h | 13 ++--
include/linux/signal.h | 3 +-
include/uapi/asm-generic/siginfo.h | 11 ++--
include/uapi/linux/signalfd.h | 4 +-
kernel/events/core.c | 11 +---
kernel/signal.c | 108 ++++++++++++++++++++++------------
23 files changed, 149 insertions(+), 142 deletions(-)