[PATCH 05/32] arm64: copy_thread(): rename 'stk_sz' argument to 'kthread_arg'
'stk_sz' is a misnomer: it is never used for a stack size. Rather, it is an argument which is passed to the main function executed by a kernel thread, when forking a new kthread. The most appropriate name is 'kthread_arg'. Signed-off-by: Alex Dowad --- arch/arm64/kernel/process.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index fde9923..734e2b6 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -242,8 +242,11 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) asmlinkage void ret_from_fork(void) asm("ret_from_fork"); +/* + * Copy architecture-specific thread state + */ int copy_thread(unsigned long clone_flags, unsigned long stack_start, - unsigned long stk_sz, struct task_struct *p) + unsigned long kthread_arg, struct task_struct *p) { struct pt_regs *childregs = task_pt_regs(p); unsigned long tls = p->thread.tp_value; @@ -251,6 +254,7 @@ int copy_thread(unsigned long clone_flags, unsigned long stack_start, memset(>thread.cpu_context, 0, sizeof(struct cpu_context)); if (likely(!(p->flags & PF_KTHREAD))) { + /* user thread */ *childregs = *current_pt_regs(); childregs->regs[0] = 0; if (is_compat_thread(task_thread_info(p))) { @@ -276,10 +280,11 @@ int copy_thread(unsigned long clone_flags, unsigned long stack_start, if (clone_flags & CLONE_SETTLS) tls = childregs->regs[3]; } else { + /* kernel thread */ memset(childregs, 0, sizeof(struct pt_regs)); childregs->pstate = PSR_MODE_EL1h; p->thread.cpu_context.x19 = stack_start; - p->thread.cpu_context.x20 = stk_sz; + p->thread.cpu_context.x20 = kthread_arg; } p->thread.cpu_context.pc = (unsigned long)ret_from_fork; p->thread.cpu_context.sp = (unsigned long)childregs; -- 2.0.0.GIT -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 05/32] arm64: copy_thread(): rename 'stk_sz' argument to 'kthread_arg'
'stk_sz' is a misnomer: it is never used for a stack size. Rather, it is an argument which is passed to the main function executed by a kernel thread, when forking a new kthread. The most appropriate name is 'kthread_arg'. Signed-off-by: Alex Dowad alexinbeij...@gmail.com --- arch/arm64/kernel/process.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index fde9923..734e2b6 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -242,8 +242,11 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) asmlinkage void ret_from_fork(void) asm(ret_from_fork); +/* + * Copy architecture-specific thread state + */ int copy_thread(unsigned long clone_flags, unsigned long stack_start, - unsigned long stk_sz, struct task_struct *p) + unsigned long kthread_arg, struct task_struct *p) { struct pt_regs *childregs = task_pt_regs(p); unsigned long tls = p-thread.tp_value; @@ -251,6 +254,7 @@ int copy_thread(unsigned long clone_flags, unsigned long stack_start, memset(p-thread.cpu_context, 0, sizeof(struct cpu_context)); if (likely(!(p-flags PF_KTHREAD))) { + /* user thread */ *childregs = *current_pt_regs(); childregs-regs[0] = 0; if (is_compat_thread(task_thread_info(p))) { @@ -276,10 +280,11 @@ int copy_thread(unsigned long clone_flags, unsigned long stack_start, if (clone_flags CLONE_SETTLS) tls = childregs-regs[3]; } else { + /* kernel thread */ memset(childregs, 0, sizeof(struct pt_regs)); childregs-pstate = PSR_MODE_EL1h; p-thread.cpu_context.x19 = stack_start; - p-thread.cpu_context.x20 = stk_sz; + p-thread.cpu_context.x20 = kthread_arg; } p-thread.cpu_context.pc = (unsigned long)ret_from_fork; p-thread.cpu_context.sp = (unsigned long)childregs; -- 2.0.0.GIT -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/