powerpc/kernel: Initialize load_tm on task creation
authorBreno Leitao <leitao@debian.org>
Mon, 5 Jun 2017 14:40:59 +0000 (11:40 -0300)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 02:56:29 +0000 (02:56 +0000)
commit 7f22ced4377628074e2ac25f41a88f98eb3b03f1 upstream.

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")
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/process.c

index 09a4293fefa731ddf4c0e9c279d215757da49e6b..b5ff31acab3052ad5e6583ebf771b8033d53df7b 100644 (file)
@@ -1682,6 +1682,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);