Skip to content

signal/ia64: siginfo fixes and cleanups

Eric W. Biederman linux-arch linux-ia64 lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 3 patches 1 replyIn review

Patches in v1 No applies recorded yet

None of the 3 patches the cover letter announces are in this archive.

Reviews trailers per patch

PatchTony Luck
SeriesA-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [REVIEW][PATCH 0/3] signal/ia64: siginfo fixes and cleanups

I have been slowly cleaning up the architectues ever since I discovered that the pattern of passing in struct siginfo is error prone, and occassionally results in borken siginfo being sent to userspace.

It turns out that ia64 is one of the noticable offenders. Ever since ia64 was merged in 2.3.43 it has been generating incorrect siginfo for SIGSEGV assocaited with the inability to setup a signal stack frame or cleanup a signal stack frame.

This is pretty esoteric case and the problem was only some values that should be 0 being something else so I am not surpised it was missed.

The following series fixes the two buggy cases I have found and then cleans up replaces force_sig_info with force_sig_fault to avoid errors of this kind in the future.

I don't think I have made made any mistakes in this coversion but if people can look the code over and see if they can spot anything I would appreciate it.

My intention is to merge this through my siginfo tree. If you feel it
should go through your arch tree let me know. All of the prerequisites
should have been merged several releases ago.

Eric W. Biederman (3):
signal/ia64: Use the generic force_sigsegv in setup_frame signal/ia64: Use the force_sig(SIGSEGV,...) in ia64_rt_sigreturn signal/ia64: Use force_sig_fault where appropriate

 arch/ia64/kernel/brl_emu.c   |  31 ++--------
 arch/ia64/kernel/signal.c    |  60 ++++--------------
 arch/ia64/kernel/traps.c     | 144 ++++++++++++-------------------------------
 arch/ia64/kernel/unaligned.c |  12 +---
 arch/ia64/mm/fault.c         |  12 +---
 5 files changed, 62 insertions(+), 197 deletions(-)

Eric