diff options
author | Breno Leitao <leitao@debian.org> | 2017-06-05 11:40:59 -0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-06-06 19:09:22 +1000 |
commit | 7f22ced4377628074e2ac25f41a88f98eb3b03f1 (patch) | |
tree | a722f41f455bc5c04a6c42beff4a796d863f4b20 /arch/powerpc | |
parent | 1195892c091a15cc862f4e202482a36adc924e12 (diff) | |
download | talos-obmc-linux-7f22ced4377628074e2ac25f41a88f98eb3b03f1.tar.gz talos-obmc-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')
-rw-r--r-- | arch/powerpc/kernel/process.c | 1 |
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); |