powerpc/kernel: Initialize load_tm on task creation
authorBreno Leitao <leitao@debian.org>
Mon, 5 Jun 2017 14:40:59 +0000 (11:40 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 6 Jun 2017 09:09:22 +0000 (19:09 +1000)
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>
arch/powerpc/kernel/process.c

index a9435397eab834a223a61b66098c40593117ea88..2ad725ef4368a3e525681b0ce4a56ef8e960bf48 100644 (file)
@@ -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);