diff options
| author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-04-01 07:45:33 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-04-09 04:19:11 -0400 |
| commit | a8a934e44f2bd0ed613e1aa0471e3478c6a9228a (patch) | |
| tree | 51d0df9aaa8a28dc6535fa7f1b269f547b1a634c | |
| parent | 75ff24fa52f0cc512ceee4c377632b91a3a80811 (diff) | |
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>
| -rw-r--r-- | arch/s390/kernel/ptrace.c | 2 |
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) | |||
| 64 | if (task->thread.per_flags & PER_FLAG_NO_TE) | 64 | if (task->thread.per_flags & PER_FLAG_NO_TE) |
| 65 | cr_new &= ~(1UL << 55); | 65 | cr_new &= ~(1UL << 55); |
| 66 | if (cr_new != cr) | 66 | if (cr_new != cr) |
| 67 | __ctl_load(cr, 0, 0); | 67 | __ctl_load(cr_new, 0, 0); |
| 68 | /* Set or clear transaction execution TDC bits 62 and 63. */ | 68 | /* Set or clear transaction execution TDC bits 62 and 63. */ |
| 69 | __ctl_store(cr, 2, 2); | 69 | __ctl_store(cr, 2, 2); |
| 70 | cr_new = cr & ~3UL; | 70 | cr_new = cr & ~3UL; |
