diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-07-09 10:43:49 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-07-09 10:43:49 +0200 |
commit | 52e31f89cc40c613b22e62108fe12b27433a888e (patch) | |
tree | c3cd45d6950706c32efdd341715e70b6ee6d7a5e /arch/powerpc/kernel/process.c | |
parent | 9a7e7b571826c4399aa639af4a670642d96d935c (diff) | |
parent | ee40fb2948fc99096836995d4f3ddcc0efbac790 (diff) | |
download | linux-52e31f89cc40c613b22e62108fe12b27433a888e.tar.bz2 |
Merge branch 'linus' into x86/asm, to pick up fixes before merging new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
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 e2f12cbcade9..0b93893424f5 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -1505,6 +1505,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; |