summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorBreno Leitao2017-06-05 16:40:59 +0200
committerMichael Ellerman2017-06-06 11:09:22 +0200
commit7f22ced4377628074e2ac25f41a88f98eb3b03f1 (patch)
treea722f41f455bc5c04a6c42beff4a796d863f4b20 /arch/powerpc/kernel
parentpowerpc/kernel: Fix FP and vector register restoration (diff)
downloadkernel-qcow2-linux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.tar.gz
kernel-qcow2-linux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.tar.xz
kernel-qcow2-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/powerpc/kernel')
-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);