We need to call exit_thread from copy_process in a fail path. Since
exit_thread on s390 calls exit_thread_runtime_instr, make it accept
task_struct as a parameter now.

Signed-off-by: Jiri Slaby <jsl...@suse.cz>
Cc: Martin Schwidefsky <schwidef...@de.ibm.com>
Cc: Heiko Carstens <heiko.carst...@de.ibm.com>
Cc: David Hildenbrand <d...@linux.vnet.ibm.com>
Cc: linux-s...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 arch/s390/include/asm/runtime_instr.h | 2 +-
 arch/s390/kernel/process.c            | 2 +-
 arch/s390/kernel/runtime_instr.c      | 6 ++----
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/arch/s390/include/asm/runtime_instr.h 
b/arch/s390/include/asm/runtime_instr.h
index 402ad6df4897..6ecfadccd5f5 100644
--- a/arch/s390/include/asm/runtime_instr.h
+++ b/arch/s390/include/asm/runtime_instr.h
@@ -85,6 +85,6 @@ static inline void restore_ri_cb(struct runtime_instr_cb 
*cb_next,
                load_runtime_instr_cb(&runtime_instr_empty_cb);
 }
 
-void exit_thread_runtime_instr(void);
+void exit_thread_runtime_instr(struct task_struct *task);
 
 #endif /* _RUNTIME_INSTR_H */
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 2bba7df4ac51..7fabc985a7dd 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -72,7 +72,7 @@ extern void kernel_thread_starter(void);
  */
 void exit_thread(void)
 {
-       exit_thread_runtime_instr();
+       exit_thread_runtime_instr(current);
 }
 
 void flush_thread(void)
diff --git a/arch/s390/kernel/runtime_instr.c b/arch/s390/kernel/runtime_instr.c
index fffa0e5462af..f76973888479 100644
--- a/arch/s390/kernel/runtime_instr.c
+++ b/arch/s390/kernel/runtime_instr.c
@@ -43,10 +43,8 @@ static void init_runtime_instr_cb(struct runtime_instr_cb 
*cb)
        cb->valid = 1;
 }
 
-void exit_thread_runtime_instr(void)
+void exit_thread_runtime_instr(struct task_struct *task)
 {
-       struct task_struct *task = current;
-
        if (!task->thread.ri_cb)
                return;
        disable_runtime_instr();
@@ -63,7 +61,7 @@ SYSCALL_DEFINE1(s390_runtime_instr, int, command)
 
        if (command == S390_RUNTIME_INSTR_STOP) {
                preempt_disable();
-               exit_thread_runtime_instr();
+               exit_thread_runtime_instr(current);
                preempt_enable();
                return 0;
        }
-- 
2.7.4

Reply via email to