]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix 32-bit frames for signals delivered when transactional
authorPaul Mackerras <paulus@samba.org>
Wed, 29 Jan 2014 05:33:56 +0000 (16:33 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 29 Jan 2014 05:58:49 +0000 (16:58 +1100)
commit31b5e3692e93a21e072760d6b4f1b9602e4964cc
treebc0a4f69042b3e7875b11111970e28072c70b179
parentbff7e38ef39ee863831b5cb57b48429cc29ff7fa
powerpc: Fix 32-bit frames for signals delivered when transactional

Commit 37a965b47323 ("powerpc: Don't corrupt transactional state when
using FP/VMX in kernel") introduced a bug where the uc_link and uc_regs
fields of the ucontext_t that is created to hold the transactional
values of the registers in a 32-bit signal frame didn't get set
correctly.  The reason is that we now clear the MSR_TS bits in the MSR
in save_tm_user_regs(), before the code that sets uc_link and uc_regs.
To fix this, we move the setting of uc_link and uc_regs into the same
if statement that selects whether to call save_tm_user_regs() or
save_user_regs().

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