[POWERPC] Fix register save area alignment for swapcontext syscall
authorPaul Mackerras <paulus@samba.org>
Wed, 20 Dec 2006 02:57:06 +0000 (13:57 +1100)
committerPaul Mackerras <paulus@samba.org>
Wed, 20 Dec 2006 05:37:49 +0000 (16:37 +1100)
commit1c9bb1a01ac1bc92a0d98cf3e40a7922ee684dc0
tree4072b12f9507045ed75595727998a00f17cdacc8
parentbb63ab13515951f4d09b16c9e8bd6e50b0f20d1e
[POWERPC] Fix register save area alignment for swapcontext syscall

For 32-bit processes, the getcontext side of the swapcontext system
call (i.e. the saving of the context when the first argument is
non-NULL) has to set the ctx->uc_mcontext.uc_regs pointer to the place
where it saves the registers.  Which it does, but it doesn't ensure
that the pointer is 16-byte aligned.  16-byte alignment is needed
because the Altivec/VMX registers are saved in there, and they need to
be on a 16-byte boundary.

This fixes it by ensuring the appropriate alignment of the pointer.
This issue was pointed out by Jakub Jelinek.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/signal_32.c