Skip to content

Improving siginfo_layout and fixing uml's relay_signal

Eric W. Biederman linux-alpha linux-api linux-arch linux-hexagon linux-ia64 linux-mips linux-parisc linux-riscv linux-s390 linux-sh linux-um linuxppc-dev lkml openrisc sparclinux stable 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5signal/signalfd: Remove __put_user from signalfd_copyinfofs/signalfd.c+29 -270 replies
2/5signal/signalfd: Add support for SIGSYSfs/signalfd.c include/uapi/linux/signalfd.h+10 -20 replies
3/5signal: Remove unncessary #ifdef SEGV_PKUERR in 32bit compat codekernel/signal.c+0 -50 replies
4/5signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR}fs/signalfd.c include/linux/signal.h kernel/signal.c+75 -330 replies
5/5signal/um: More carefully relay signals in relay_signal.arch/um/kernel/trap.c+14 -240 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [REVIEW][PATCH 0/5] Improving siginfo_layout and fixing uml's relay_signal

This patchset is a respin of my latest patch to relay_signal for uml.

As I understand relay_signal it very carefully scrubs the signal information it gets from the host kernel before passing it on. Basically making certain it recognizes what it is dealing with.

This patchset updates siginfo_layout so that relay_signal and arm64's force_signal_inject can reliably use it to verify the kind of signal being processed, by recognizing the specializations of SIL_FAULT as separate cases.

To make the siginfo_layout changes clean. signalfd is first brought into the modern world of using a single copy_to_user, no default case statement (so gcc will flag missing cases), and handling SIGSYS for seccomp.

The net is a simpler relay_signal is also more careful about which signals it relays.

Eric

The changes are also available at:
git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git siginfo-review3

Eric W. Biederman (5):
signal/signalfd: Remove __put_user from signalfd_copyinfo signal/signalfd: Add support for SIGSYS
signal: Remove unncessary #ifdef SEGV_PKUERR in 32bit compat code
signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR} signal/um: More carefully relay signals in relay_signal.

 arch/um/kernel/trap.c         | 38 ++++++++------------
 fs/signalfd.c                 | 84 +++++++++++++++++++++++++------------------
 include/linux/signal.h        |  3 ++
 include/uapi/linux/signalfd.h |  6 +++-
 kernel/signal.c               | 82 +++++++++++++++++++++++++++---------------
 5 files changed, 125 insertions(+), 88 deletions(-)