diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2022-04-08 18:07:50 -0500 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2022-05-07 09:01:48 -0500 |
commit | c5febea0956fd3874e8fb59c6f84d68f128d68f8 (patch) | |
tree | 1fd7c1fa7491beff47fd863dfc89581cd726fc69 /arch/s390/kernel | |
parent | 343f4c49f2438d8920f1f76fa823ee59b91f02e4 (diff) | |
download | linux-c5febea0956fd3874e8fb59c6f84d68f128d68f8.tar.gz linux-c5febea0956fd3874e8fb59c6f84d68f128d68f8.tar.bz2 linux-c5febea0956fd3874e8fb59c6f84d68f128d68f8.zip |
fork: Pass struct kernel_clone_args into copy_thread
With io_uring we have started supporting tasks that are for most
purposes user space tasks that exclusively run code in kernel mode.
The kernel task that exec's init and tasks that exec user mode
helpers are also user mode tasks that just run kernel code
until they call kernel execve.
Pass kernel_clone_args into copy_thread so these oddball
tasks can be supported more cleanly and easily.
v2: Fix spelling of kenrel_clone_args on h8300
Link: https://lkml.kernel.org/r/20220506141512.516114-2-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/process.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 71d86f73b02c..bb5daec39516 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -94,9 +94,12 @@ 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, unsigned long tls) +int copy_thread(struct task_struct *p, const struct kernel_clone_args *args) { + unsigned long clone_flags = args->flags; + unsigned long new_stackp = args->stack; + unsigned long arg = args->stack_size; + unsigned long tls = args->tls; struct fake_frame { struct stack_frame sf; |