]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
arch: rename copy_thread_tls() back to copy_thread()
authorChristian Brauner <christian.brauner@ubuntu.com>
Thu, 11 Jun 2020 09:04:15 +0000 (11:04 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Sat, 4 Jul 2020 21:41:37 +0000 (23:41 +0200)
Now that HAVE_COPY_THREAD_TLS has been removed, rename copy_thread_tls()
back simply copy_thread(). It's a simpler name, and doesn't imply that only
tls is copied here. This finishes an outstanding chunk of internal process
creation work since we've added clone3().

Cc: linux-arch@vger.kernel.org
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>A
Acked-by: Stafford Horne <shorne@gmail.com>
Acked-by: Greentime Hu <green.hu@gmail.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>A
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
30 files changed:
arch/alpha/kernel/process.c
arch/arc/kernel/process.c
arch/arm/kernel/process.c
arch/arm64/kernel/process.c
arch/c6x/kernel/process.c
arch/csky/kernel/process.c
arch/h8300/kernel/process.c
arch/hexagon/kernel/process.c
arch/ia64/kernel/process.c
arch/m68k/kernel/process.c
arch/microblaze/kernel/process.c
arch/mips/kernel/process.c
arch/nds32/kernel/process.c
arch/nios2/kernel/process.c
arch/openrisc/kernel/process.c
arch/parisc/kernel/process.c
arch/powerpc/kernel/process.c
arch/riscv/kernel/process.c
arch/s390/kernel/process.c
arch/sh/kernel/process_32.c
arch/sparc/kernel/process.c
arch/sparc/kernel/process_32.c
arch/sparc/kernel/process_64.c
arch/um/kernel/process.c
arch/unicore32/kernel/process.c
arch/x86/kernel/process.c
arch/x86/kernel/unwind_frame.c
arch/xtensa/kernel/process.c
include/linux/sched/task.h
kernel/fork.c

index dfdb6b6ba61c2fad47bc2806485214443946198c..7462a7911002451e5fffb0bd927b08f31e5ccb92 100644 (file)
@@ -233,9 +233,9 @@ release_thread(struct task_struct *dead_task)
 /*
  * Copy architecture-specific thread state
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long kthread_arg, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp,
+               unsigned long kthread_arg, struct task_struct *p,
+               unsigned long tls)
 {
        extern void ret_from_fork(void);
        extern void ret_from_kernel_thread(void);
index 8c8e5172fecd51ffe1b627c74289b91277dfb122..105420c23c8b8c59312165d25a4e98508e1ae7e7 100644 (file)
@@ -173,8 +173,9 @@ asmlinkage void ret_from_fork(void);
  * |    user_r25    |
  * ------------------  <===== END of PAGE
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-       unsigned long kthread_arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp,
+               unsigned long kthread_arg, struct task_struct *p,
+               unsigned long tls)
 {
        struct pt_regs *c_regs;        /* child's pt_regs */
        unsigned long *childksp;       /* to unwind out of __switch_to() */
index 58eaa1f60e16402558d79de0113cf0136b803b23..3395be186c7df40dade93100487c8fabfe7c0848 100644 (file)
@@ -225,9 +225,8 @@ void release_thread(struct task_struct *dead_task)
 
 asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
 
-int
-copy_thread_tls(unsigned long clone_flags, unsigned long stack_start,
-           unsigned long stk_sz, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long stack_start,
+               unsigned long stk_sz, struct task_struct *p, unsigned long tls)
 {
        struct thread_info *thread = task_thread_info(p);
        struct pt_regs *childregs = task_pt_regs(p);
index 6089638c7d43f4937194236da52abb281531bf12..84ec630b8ab5d851f8a6c0dc2a292c4925d2260b 100644 (file)
@@ -375,7 +375,7 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
 
 asmlinkage void ret_from_fork(void) asm("ret_from_fork");
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long stack_start,
+int copy_thread(unsigned long clone_flags, unsigned long stack_start,
                unsigned long stk_sz, struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs = task_pt_regs(p);
index afa3ea9a93aa1ae152fa73fc111219bc3d46040c..9f4fd6a40a109f6c4daa2f612fc1f510ddcc12c2 100644 (file)
@@ -104,9 +104,9 @@ void start_thread(struct pt_regs *regs, unsigned int pc, unsigned long usp)
 /*
  * Copy a new thread context in its stack.
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long ustk_size, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp,
+               unsigned long ustk_size, struct task_struct *p,
+               unsigned long tls)
 {
        struct pt_regs *childregs;
 
index 8b3fad062ab2d8549c7aa1d594356d88f572b1ef..28cfeaaf902a3ee7c3a468933fa38821aa4d8870 100644 (file)
@@ -40,7 +40,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
        return sw->r15;
 }
 
-int copy_thread_tls(unsigned long clone_flags,
+int copy_thread(unsigned long clone_flags,
                unsigned long usp,
                unsigned long kthread_arg,
                struct task_struct *p,
index ae23de4dcf42e07b8a9ea04cab0fb3432006f601..83ce3caf73139ef7917a8d585db4d6d1f35b37dc 100644 (file)
@@ -105,9 +105,8 @@ void flush_thread(void)
 {
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long topstk, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp,
+               unsigned long topstk, struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs;
 
index d756f9556dd7c723913151a844e579d9ef541a93..d294e71d11d89cb2ff7d924430d4ecd149e12188 100644 (file)
@@ -50,8 +50,8 @@ void arch_cpu_idle(void)
 /*
  * Copy architecture-specific thread state
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct thread_info *ti = task_thread_info(p);
        struct hexagon_switch_stack *ss;
index 416dca619da53e569d967825f2e89d7536a9eb7c..9cedb56c3fda68ae2a0b2547592c08f9b9beab9b 100644 (file)
@@ -311,7 +311,7 @@ ia64_load_extra (struct task_struct *task)
  *     <clone syscall>         <some kernel call frames>
  *     sys_clone                  :
  *     _do_fork                _do_fork
- *     copy_thread_tls         copy_thread_tls
+ *     copy_thread             copy_thread
  *
  * This means that the stack layout is as follows:
  *
@@ -333,9 +333,8 @@ ia64_load_extra (struct task_struct *task)
  * so there is nothing to worry about.
  */
 int
-copy_thread_tls(unsigned long clone_flags, unsigned long user_stack_base,
-                   unsigned long user_stack_size, struct task_struct *p,
-                   unsigned long tls)
+copy_thread(unsigned long clone_flags, unsigned long user_stack_base,
+           unsigned long user_stack_size, struct task_struct *p, unsigned long tls)
 {
        extern char ia64_ret_from_clone;
        struct switch_stack *child_stack, *stack;
index 0608439ba452db33cc3253dcde50127180a1f689..6492a2c54dbc9ab52e89eed5e5926ad3e1579253 100644 (file)
@@ -138,9 +138,8 @@ asmlinkage int m68k_clone3(struct pt_regs *regs)
        return sys_clone3((struct clone_args __user *)regs->d1, regs->d2);
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long arg, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct fork_frame {
                struct switch_stack sw;
index c2ca9c32651008feea4f0926ed62dd1e6f5dfa79..6cabeab9e2ba010d81f32d3de209b3cf27a51a71 100644 (file)
@@ -54,8 +54,8 @@ void flush_thread(void)
 {
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs = task_pt_regs(p);
        struct thread_info *ti = task_thread_info(p);
index ff5320b79100e0971b7483bdc987534d4d58c2dc..f5dc316a826a041b9bd1b71e31e6d25af6edaf3c 100644 (file)
@@ -119,8 +119,9 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
 /*
  * Copy architecture-specific thread state
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-       unsigned long kthread_arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp,
+               unsigned long kthread_arg, struct task_struct *p,
+               unsigned long tls)
 {
        struct thread_info *ti = task_thread_info(p);
        struct pt_regs *childregs, *regs = current_pt_regs();
index 7dbb1bf64165bce7362759f217f870ae18a0ad40..e85bbbadc0e77cdcf8a7e7388e3c23abb75d240d 100644 (file)
@@ -149,9 +149,8 @@ void flush_thread(void)
 DEFINE_PER_CPU(struct task_struct *, __entry_task);
 
 asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
-int copy_thread_tls(unsigned long clone_flags, unsigned long stack_start,
-                   unsigned long stk_sz, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long stack_start,
+               unsigned long stk_sz, struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs = task_pt_regs(p);
 
index 3dde4d6d8fbe79b04eb8a04027a5dcf953e56041..0a42ab8e4c323c1bb887265ec22f994843a7bc85 100644 (file)
@@ -100,8 +100,8 @@ void flush_thread(void)
 {
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs = task_pt_regs(p);
        struct pt_regs *regs;
index d7010e72450c0a89940665634d071ffc65238aba..848f74c2c47aa4a78200be1597bb8fdf87607d93 100644 (file)
@@ -116,7 +116,7 @@ void release_thread(struct task_struct *dead_task)
 extern asmlinkage void ret_from_fork(void);
 
 /*
- * copy_thread_tls
+ * copy_thread
  * @clone_flags: flags
  * @usp: user stack pointer or fn for kernel thread
  * @arg: arg to fn for kernel thread; always NULL for userspace thread
@@ -147,8 +147,8 @@ extern asmlinkage void ret_from_fork(void);
  */
 
 int
-copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-               unsigned long arg, struct task_struct *p, unsigned long tls)
+copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+           struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *userregs;
        struct pt_regs *kregs;
index b7abb12edd3a4bf8b2b49cc38712a8e9bcf50fa7..de6299ff153057b0a37177ecffe3c0cb855d927d 100644 (file)
@@ -208,7 +208,7 @@ arch_initcall(parisc_idle_init);
  * Copy architecture-specific thread state
  */
 int
-copy_thread_tls(unsigned long clone_flags, unsigned long usp,
+copy_thread(unsigned long clone_flags, unsigned long usp,
            unsigned long kthread_arg, struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *cregs = &(p->thread.regs);
index 4650b9bb217fb1dcf35353c7ab4b48240e6d9620..794b754deec23934e7e6e62bb272203ce8323d30 100644 (file)
@@ -1593,7 +1593,7 @@ static void setup_ksp_vsid(struct task_struct *p, unsigned long sp)
 /*
  * Copy architecture-specific thread state
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
+int copy_thread(unsigned long clone_flags, unsigned long usp,
                unsigned long kthread_arg, struct task_struct *p,
                unsigned long tls)
 {
index 824d117cf202b34a3f538e9c1b766873b8548bb7..31f39442df72a060a84eb05d07850ca203f12f5a 100644 (file)
@@ -101,8 +101,8 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
        return 0;
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-       unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct pt_regs *childregs = task_pt_regs(p);
 
index eb6e23ad15a2f2397272872c192f8eede80a1574..b06dec1267d0222a2e9511804707c7aa64f989e9 100644 (file)
@@ -80,8 +80,8 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
        return 0;
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long new_stackp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long new_stackp,
+               unsigned long arg, struct task_struct *p, unsigned long tls)
 {
        struct fake_frame
        {
index 537a82d8061651d47b6f45623c73af49091e7ed0..b0fefd8f53a6a6b2c9624c6f2e05b018cb48fef9 100644 (file)
@@ -115,8 +115,8 @@ EXPORT_SYMBOL(dump_fpu);
 asmlinkage void ret_from_fork(void);
 asmlinkage void ret_from_kernel_thread(void);
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long usp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct thread_info *ti = task_thread_info(p);
        struct pt_regs *childregs;
index 8bbe62d77b77b77fa9c8016c105e79774eca8d9c..5234b5ccc0b98bfe74e1c5fc7abafad98f88da5b 100644 (file)
@@ -28,7 +28,7 @@ asmlinkage long sparc_fork(struct pt_regs *regs)
        ret = _do_fork(&args);
 
        /* If we get an error and potentially restart the system
-        * call, we're screwed because copy_thread_tls() clobbered
+        * call, we're screwed because copy_thread() clobbered
         * the parent's %o1.  So detect that case and restore it
         * here.
         */
@@ -53,7 +53,7 @@ asmlinkage long sparc_vfork(struct pt_regs *regs)
        ret = _do_fork(&args);
 
        /* If we get an error and potentially restart the system
-        * call, we're screwed because copy_thread_tls() clobbered
+        * call, we're screwed because copy_thread() clobbered
         * the parent's %o1.  So detect that case and restore it
         * here.
         */
@@ -99,7 +99,7 @@ asmlinkage long sparc_clone(struct pt_regs *regs)
        ret = _do_fork(&args);
 
        /* If we get an error and potentially restart the system
-        * call, we're screwed because copy_thread_tls() clobbered
+        * call, we're screwed because copy_thread() clobbered
         * the parent's %o1.  So detect that case and restore it
         * here.
         */
index 3e1f7b639e9a6ec31c52c8506a3194b2bf611724..bd123f1de2e7ca27b8decb843cbf5c51bf17ede1 100644 (file)
@@ -273,9 +273,8 @@ clone_stackframe(struct sparc_stackf __user *dst,
 extern void ret_from_fork(void);
 extern void ret_from_kernel_thread(void);
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long sp,
-                   unsigned long arg, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long sp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct thread_info *ti = task_thread_info(p);
        struct pt_regs *childregs, *regs = current_pt_regs();
index 278bf287c4be9fed71e6eca8d54047c16ecda7fc..04ef19b88632e5c7406d2b8cf04863ca6c3211b1 100644 (file)
@@ -577,9 +577,8 @@ barf:
  * Parent -->  %o0 == childs  pid, %o1 == 0
  * Child  -->  %o0 == parents pid, %o1 == 1
  */
-int copy_thread_tls(unsigned long clone_flags, unsigned long sp,
-                   unsigned long arg, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long sp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct thread_info *t = task_thread_info(p);
        struct pt_regs *regs = current_pt_regs();
index e3a2cf92a3738bc871b78dee856d47f181309216..26b5e243d3fc078f7f7d43e72915781f09a01be1 100644 (file)
@@ -152,7 +152,7 @@ void fork_handler(void)
        userspace(&current->thread.regs.regs, current_thread_info()->aux_fp_regs);
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long sp,
+int copy_thread(unsigned long clone_flags, unsigned long sp,
                unsigned long arg, struct task_struct * p, unsigned long tls)
 {
        void (*handler)(void);
index 49a305565a53754343aced38592e5e9ecfee5d2d..d5ae5a971c19ab6bb8c5ee04887e775cc42071f9 100644 (file)
@@ -219,9 +219,8 @@ void release_thread(struct task_struct *dead_task)
 asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
 asmlinkage void ret_from_kernel_thread(void) __asm__("ret_from_kernel_thread");
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long stack_start,
-                   unsigned long stk_sz, struct task_struct *p,
-                   unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long stack_start,
+               unsigned long stk_sz, struct task_struct *p, unsigned long tls)
 {
        struct thread_info *thread = task_thread_info(p);
        struct pt_regs *childregs = task_pt_regs(p);
index f362ce0d5ac0f621b901c6d728445efe7f66c107..b35cd50ed0dcab70a78ab24a87ff6a5b03bc13de 100644 (file)
@@ -121,8 +121,8 @@ static int set_new_tls(struct task_struct *p, unsigned long tls)
                return do_set_thread_area_64(p, ARCH_SET_FS, tls);
 }
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long sp,
-                   unsigned long arg, struct task_struct *p, unsigned long tls)
+int copy_thread(unsigned long clone_flags, unsigned long sp, unsigned long arg,
+               struct task_struct *p, unsigned long tls)
 {
        struct inactive_task_frame *frame;
        struct fork_frame *fork_frame;
index 722a85f3b2dd09de180bb9f8d3340469f4165b84..3070fd6561bea394d4d235faccaa449d11fb15f4 100644 (file)
@@ -269,7 +269,7 @@ bool unwind_next_frame(struct unwind_state *state)
                /*
                 * kthreads (other than the boot CPU's idle thread) have some
                 * partial regs at the end of their stack which were placed
-                * there by copy_thread_tls().  But the regs don't have any
+                * there by copy_thread().  But the regs don't have any
                 * useful information, so we can skip them.
                 *
                 * This user_mode() check is slightly broader than a PF_KTHREAD
index b7fe6f443b4271a1075f444ea72be6c1a079e4e9..397a7de563776acbc5c8a17b27abae1cf1564d43 100644 (file)
@@ -201,7 +201,7 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
  * involved.  Much simpler to just not copy those live frames across.
  */
 
-int copy_thread_tls(unsigned long clone_flags, unsigned long usp_thread_fn,
+int copy_thread(unsigned long clone_flags, unsigned long usp_thread_fn,
                unsigned long thread_fn_arg, struct task_struct *p,
                unsigned long tls)
 {
index 77cbe14c30344a58191ef605171d0743ccacfc87..b6253f2ea96a4d5d867e542459418475eceb638b 100644 (file)
@@ -65,8 +65,8 @@ extern void fork_init(void);
 
 extern void release_task(struct task_struct * p);
 
-extern int copy_thread_tls(unsigned long, unsigned long, unsigned long,
-                       struct task_struct *, unsigned long);
+extern int copy_thread(unsigned long, unsigned long, unsigned long,
+                      struct task_struct *, unsigned long);
 
 extern void flush_thread(void);
 
index 8e52e16a1b5e68329b3673d87769361b2a9d0297..790841eb0a217482827ab355deaa1e97ff0a8bb1 100644 (file)
@@ -2104,8 +2104,7 @@ static __latent_entropy struct task_struct *copy_process(
        retval = copy_io(clone_flags, p);
        if (retval)
                goto bad_fork_cleanup_namespaces;
-       retval = copy_thread_tls(clone_flags, args->stack, args->stack_size, p,
-                                args->tls);
+       retval = copy_thread(clone_flags, args->stack, args->stack_size, p, args->tls);
        if (retval)
                goto bad_fork_cleanup_io;