summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBreno Leitao <leitao@debian.org>2017-06-05 11:40:59 -0300
committerMichael Ellerman <mpe@ellerman.id.au>2017-06-06 19:09:22 +1000
commit7f22ced4377628074e2ac25f41a88f98eb3b03f1 (patch)
treea722f41f455bc5c04a6c42beff4a796d863f4b20 /arch
parent1195892c091a15cc862f4e202482a36adc924e12 (diff)
downloadlinux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.tar.gz
linux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.tar.bz2
linux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.zip
powerpc/kernel: Initialize load_tm on task creation
Currently tsk->thread.load_tm is not initialized in the task creation and can contain garbage on a new task. This is an undesired behaviour, since it affects the timing to enable and disable the transactional memory laziness (disabling and enabling the MSR TM bit, which affects TM reclaim and recheckpoint in the scheduling process). Fixes: 5d176f751ee3 ("powerpc: tm: Enable transactional memory (TM) lazily for userspace") Cc: stable@vger.kernel.org # v4.9+ Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/process.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index a9435397eab8..2ad725ef4368 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1687,6 +1687,7 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp)
current->thread.tm_tfhar = 0;
current->thread.tm_texasr = 0;
current->thread.tm_tfiar = 0;
+ current->thread.load_tm = 0;
#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
}
EXPORT_SYMBOL(start_thread);