diff options
author | Heiko Carstens | 2017-02-20 09:38:42 +0100 |
---|---|---|
committer | Martin Schwidefsky | 2017-02-23 10:06:38 +0100 |
commit | f50c0e6371c960ad3481daa4504b33a9de4e9d01 (patch) | |
tree | 60ca907f77efed44cdc3894e4ddb8ccfe084d156 /arch/s390/kernel | |
parent | b5a882fcf146c87cb6b67c6df353e1c042b8773d (diff) |
s390: opt into HAVE_COPY_THREAD_TLS
This the s390 version of commit c1bd55f922a2d ("x86: opt into
HAVE_COPY_THREAD_TLS, for both 32-bit and 64-bit").
Simply use the tls system call argument instead of extracting the tls
argument by magic from the pt_regs structure.
See commit 3033f14ab78c3 ("clone: support passing tls argument via C
rather than pt_regs magic") for more background.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/process.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index a49dc2bdeb17..54281660582c 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -100,8 +100,8 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) return 0; } -int copy_thread(unsigned long clone_flags, unsigned long new_stackp, - unsigned long arg, struct task_struct *p) +int copy_thread_tls(unsigned long clone_flags, unsigned long new_stackp, + unsigned long arg, struct task_struct *p, unsigned long tls) { struct fake_frame { @@ -156,7 +156,6 @@ int copy_thread(unsigned long clone_flags, unsigned long new_stackp, /* Set a new TLS ? */ if (clone_flags & CLONE_SETTLS) { - unsigned long tls = frame->childregs.gprs[6]; if (is_compat_task()) { p->thread.acrs[0] = (unsigned int)tls; } else { |