giveup_all() causes FPU/VMX/VSX facilitities to be disabled in a
threads MSR. If this thread was transactional this should be recorded
as reclaiming/recheckpointing code will need to know.

Fixes: c208505 ("powerpc: create giveup_all()")
Signed-off-by: Cyril Bur <[email protected]>
---
 arch/powerpc/kernel/process.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index a5cdef9..79f0615 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -439,6 +439,7 @@ void giveup_all(struct task_struct *tsk)
                return;
 
        msr_check_and_set(msr_all_available);
+       check_if_tm_restore_required(tsk);
 
 #ifdef CONFIG_PPC_FPU
        if (usermsr & MSR_FP)
-- 
2.9.2

Reply via email to