Merge 6e4dc3d592 ("Merge tag 'for-linus-5.10-1' of git://github.com/cminyard/linux-ipmi") into android-mainline

Steps on the way to 5.10-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idbd0577a495237bf5628333110e2c98a77b39c77
This commit is contained in:
Greg Kroah-Hartman
2020-10-25 16:26:10 +01:00
114 changed files with 1894 additions and 1310 deletions

View File

@@ -2416,14 +2416,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
@@ -2511,7 +2511,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
@@ -2522,7 +2522,7 @@ SYSCALL_DEFINE0(fork)
.exit_signal = SIGCHLD,
};
return _do_fork(&args);
return kernel_clone(&args);
#else
/* can not support in nommu mode */
return -EINVAL;
@@ -2538,7 +2538,7 @@ SYSCALL_DEFINE0(vfork)
.exit_signal = SIGCHLD,
};
return _do_fork(&args);
return kernel_clone(&args);
}
#endif
@@ -2576,7 +2576,7 @@ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
.tls = tls,
};
return _do_fork(&args);
return kernel_clone(&args);
}
#endif
@@ -2734,7 +2734,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
@@ -2897,7 +2897,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.