diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-15 14:57:47 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-15 14:57:47 +1000 |
commit | b5f1bf48f2644ee7151674819f1c15c86dca87f1 (patch) | |
tree | 2e3524ab1eb0a937c629062bec0bbc661f060bb2 /arch/powerpc/kernel/process.c | |
parent | 95ec77c06e8e63fff50c497eca0668bf6da39813 (diff) | |
parent | bfa37087aa04e45f56c41142dfceecb79b8e6ef9 (diff) | |
download | op-kernel-dev-b5f1bf48f2644ee7151674819f1c15c86dca87f1.zip op-kernel-dev-b5f1bf48f2644ee7151674819f1c15c86dca87f1.tar.gz |
Merge tag 'powerpc-4.7-5' into next
Pull in the fixes we sent during 4.7, we have code we want to merge into
next that depends on some of them.
Diffstat (limited to 'arch/powerpc/kernel/process.c')
-rw-r--r-- | arch/powerpc/kernel/process.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index ddceeb9..a8cca88 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -1527,6 +1527,16 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp) current->thread.regs = regs - 1; } +#ifdef CONFIG_PPC_TRANSACTIONAL_MEM + /* + * Clear any transactional state, we're exec()ing. The cause is + * not important as there will never be a recheckpoint so it's not + * user visible. + */ + if (MSR_TM_SUSPENDED(mfmsr())) + tm_reclaim_current(0); +#endif + memset(regs->gpr, 0, sizeof(regs->gpr)); regs->ctr = 0; regs->link = 0; |