Re: [PATCH] Fix breakage in MIPS siginfo handling

From: Al Viro
Date: Tue Mar 19 2013 - 11:05:37 EST


On Tue, Mar 19, 2013 at 03:00:53PM +0000, David Howells wrote:
> MIPS's siginfo handling has been broken since this commit:
>
> commit 574c4866e33d648520a8bd5bf6f573ea6e554e88
> Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Date: Sun Nov 25 22:24:19 2012 -0500
> consolidate kernel-side struct sigaction declarations
>
> for 64-bit BE MIPS CPUs.
>
> The UAPI variant looks like this:
>
> struct sigaction {
> unsigned int sa_flags;
> __sighandler_t sa_handler;
> sigset_t sa_mask;
> };
>
> but the core kernel's variant looks like this:
>
> struct sigaction {
> #ifndef __ARCH_HAS_ODD_SIGACTION
> __sighandler_t sa_handler;
> unsigned long sa_flags;
> #else
> unsigned long sa_flags;
> __sighandler_t sa_handler;
> #endif
> #ifdef __ARCH_HAS_SA_RESTORER
> __sigrestore_t sa_restorer;
> #endif
> sigset_t sa_mask;
> };
>
> The problem is that sa_flags has been changed from an unsigned int to an
> unsigned long.
>
> Fix this by making sa_flags unsigned int if __ARCH_HAS_ODD_SIGACTION is
> defined.
>
> Whilst we're at it, rename __ARCH_HAS_ODD_SIGACTION to
> __ARCH_HAS_IRIX_SIGACTION.
>
> Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
> cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> cc: linux-mips@xxxxxxxxxxxxxx
> cc: stable@xxxxxxxxxxxxxxx

ACKed-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

but I think it should go via mips tree (or straight to Linus, for that
matter). I can apply it in signal.git and push it to Linus today, though...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/