powerpc/tm: Fix 32 bit non-rt signals
authorMichael Neuling <mikey@neuling.org>
Sun, 9 Jun 2013 11:23:16 +0000 (21:23 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 20 Jun 2013 07:05:18 +0000 (17:05 +1000)
commitfee55450710dff32a13ae30b4129ec7b5a4b44d0
tree9aea8b3e1d80e274f1407abedabb925a82aaa604
parent1d25f11fdbcc5390d68efd98c28900bfd29b264c
powerpc/tm: Fix 32 bit non-rt signals

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>
cc: stable@vger.kernel.org (v3.9+)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/signal_32.c