mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
kernel-clone-v5.9
-----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCXz5bNAAKCRCRxhvAZXjc opfjAP9R/J72yxdd2CLGNZ96hyiRX1NgFDOVUhscOvujYJf8ZwD+OoLmKMvAyFW6 hnMhT1n9Q+aq194hyzChOLQaBTejBQ8= =4WCX -----END PGP SIGNATURE----- Merge tag 'kernel-clone-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux Pull kernel_clone() updates from Christian Brauner: "During the v5.9 merge window we reworked the process creation codepaths across multiple architectures. After this work we were only left with the _do_fork() helper based on the struct kernel_clone_args calling convention. As was pointed out _do_fork() isn't valid kernelese especially for a helper that isn't just static. This series removes the _do_fork() helper and introduces the new kernel_clone() helper. The process creation cleanup didn't change the name to something more reasonable mainly because _do_fork() was used in quite a few places. So sending this as a separate series seemed the better strategy. I originally intended to send this early in the v5.9 development cycle after the merge window had closed but given that this was touching quite a few places I decided to defer this until the v5.10 merge window" * tag 'kernel-clone-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux: sched: remove _do_fork() tracing: switch to kernel_clone() kgdbts: switch to kernel_clone() kprobes: switch to kernel_clone() x86: switch to kernel_clone() sparc: switch to kernel_clone() nios2: switch to kernel_clone() m68k: switch to kernel_clone() ia64: switch to kernel_clone() h8300: switch to kernel_clone() fork: introduce kernel_clone()
This commit is contained in:
commit
612e7a4c16
28 changed files with 88 additions and 88 deletions
|
@ -2412,14 +2412,14 @@ struct mm_struct *copy_init_mm(void)
|
|||
*
|
||||
* args->exit_signal is expected to be checked for sanity by the caller.
|
||||
*/
|
||||
long _do_fork(struct kernel_clone_args *args)
|
||||
pid_t kernel_clone(struct kernel_clone_args *args)
|
||||
{
|
||||
u64 clone_flags = args->flags;
|
||||
struct completion vfork;
|
||||
struct pid *pid;
|
||||
struct task_struct *p;
|
||||
int trace = 0;
|
||||
long nr;
|
||||
pid_t nr;
|
||||
|
||||
/*
|
||||
* For legacy clone() calls, CLONE_PIDFD uses the parent_tid argument
|
||||
|
@ -2505,7 +2505,7 @@ pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
|
|||
.stack_size = (unsigned long)arg,
|
||||
};
|
||||
|
||||
return _do_fork(&args);
|
||||
return kernel_clone(&args);
|
||||
}
|
||||
|
||||
#ifdef __ARCH_WANT_SYS_FORK
|
||||
|
@ -2516,7 +2516,7 @@ SYSCALL_DEFINE0(fork)
|
|||
.exit_signal = SIGCHLD,
|
||||
};
|
||||
|
||||
return _do_fork(&args);
|
||||
return kernel_clone(&args);
|
||||
#else
|
||||
/* can not support in nommu mode */
|
||||
return -EINVAL;
|
||||
|
@ -2532,7 +2532,7 @@ SYSCALL_DEFINE0(vfork)
|
|||
.exit_signal = SIGCHLD,
|
||||
};
|
||||
|
||||
return _do_fork(&args);
|
||||
return kernel_clone(&args);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2570,7 +2570,7 @@ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
|
|||
.tls = tls,
|
||||
};
|
||||
|
||||
return _do_fork(&args);
|
||||
return kernel_clone(&args);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2728,7 +2728,7 @@ SYSCALL_DEFINE2(clone3, struct clone_args __user *, uargs, size_t, size)
|
|||
if (!clone3_args_valid(&kargs))
|
||||
return -EINVAL;
|
||||
|
||||
return _do_fork(&kargs);
|
||||
return kernel_clone(&kargs);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2891,7 +2891,7 @@ int unshare_fd(unsigned long unshare_flags, unsigned int max_fds,
|
|||
/*
|
||||
* unshare allows a process to 'unshare' part of the process
|
||||
* context which was originally shared using clone. copy_*
|
||||
* functions used by _do_fork() cannot be used here directly
|
||||
* functions used by kernel_clone() cannot be used here directly
|
||||
* because they modify an inactive task_struct that is being
|
||||
* constructed. Here we are modifying the current, active,
|
||||
* task_struct.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue