powerpc/tm: Fix 32 bit non-rt signals
authorMichael Neuling <mikey@neuling.org>
Sun, 9 Jun 2013 11:23:16 +0000 (21:23 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jul 2013 21:07:20 +0000 (14:07 -0700)
commit743834135bc07e3bb9d6166607b874443fe1537c
tree2c7ea43d3ad604d71e8561da39d0dfbcf2a614f4
parentd6ea4422c89da1b08029d4db10635942a3b29b2a
powerpc/tm: Fix 32 bit non-rt signals

commit fee55450710dff32a13ae30b4129ec7b5a4b44d0 upstream.

Currently sys_sigreturn() is TM unaware.  Therefore, if we take a 32 bit signal
without SIGINFO (non RT) inside a transaction, on signal return we don't
restore the signal frame correctly.

This checks if the signal frame being restoring is an active transaction, and
if so, it copies the additional state to ptregs so it can be restored.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/signal_32.c