summary refs log tree commit diff
path: root/arch/s390
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2014-04-01 13:45:33 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-04-09 10:19:11 +0200
commita8a934e44f2bd0ed613e1aa0471e3478c6a9228a (patch)
tree51d0df9aaa8a28dc6535fa7f1b269f547b1a634c /arch/s390
parent75ff24fa52f0cc512ceee4c377632b91a3a80811 (diff)
downloadlinux-a8a934e44f2bd0ed613e1aa0471e3478c6a9228a.tar.gz
s390: fix control register update
The git commit c63badebfebacdba827ab1cc1d420fc81bd8d818
"s390: optimize control register update" broke the update for
control register 0. After the update do the lctlg from the correct
value.

Cc: <stable@vger.kernel.org> # 3.14
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/ptrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index 4ac8fafec95f..1c82619eb4f7 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -64,7 +64,7 @@ void update_cr_regs(struct task_struct *task)
 		if (task->thread.per_flags & PER_FLAG_NO_TE)
 			cr_new &= ~(1UL << 55);
 		if (cr_new != cr)
-			__ctl_load(cr, 0, 0);
+			__ctl_load(cr_new, 0, 0);
 		/* Set or clear transaction execution TDC bits 62 and 63. */
 		__ctl_store(cr, 2, 2);
 		cr_new = cr & ~3UL;