• Paul Mackerras's avatar
    [PATCH] ppc64: fix signal handler arguments · b832c335
    Paul Mackerras authored
    This is the first of 3 patches from David Woodhouse which fix various
    problems with signal handling on ppc64.  (This is David's patch plus a
    couple of comment fixes from me.)
    
    Without this patch, a signal handler that is called as a result of delivery
    of a signal while a process is waiting in sigsuspend() will have wrong
    values given to it for the second and third arguments.  The reason is that
    we were returning to userspace via the syscall return path, which doesn't
    bother to restore r4 and r5.  This patch arranges for the return to
    userspace to be done via ret_from_except in this case, which restores all
    registers.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b832c335
signal.c 15.6 KB