mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
457677c70c
This is required for clone3 which passes the TLS value through a struct rather than a register. Signed-off-by: Amanieu d'Antras <amanieu@gmail.com> Cc: linux-um@lists.infradead.org Cc: <stable@vger.kernel.org> # 5.3.x Link: https://lore.kernel.org/r/20200104123928.1048822-1-amanieu@gmail.com Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
19 lines
358 B
C
19 lines
358 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
#include <linux/sched.h>
|
|
#include <asm/ptrace-abi.h>
|
|
|
|
void clear_flushed_tls(struct task_struct *task)
|
|
{
|
|
}
|
|
|
|
int arch_set_tls(struct task_struct *t, unsigned long tls)
|
|
{
|
|
/*
|
|
* If CLONE_SETTLS is set, we need to save the thread id
|
|
* so it can be set during context switches.
|
|
*/
|
|
t->thread.arch.fs = tls;
|
|
|
|
return 0;
|
|
}
|