static bool clone3_args_valid(const struct kernel_clone_args *kargs)
{
	/*
	 * All lower bits of the flag word are taken.
	 * Verify that no other unknown flags are passed along.
	 */
	if (kargs->flags & ~CLONE_LEGACY_FLAGS)
		return false;

	/*
	 * - make the CLONE_DETACHED bit reuseable for clone3
	 * - make the CSIGNAL bits reuseable for clone3
	 */
	if (kargs->flags & (CLONE_DETACHED | CSIGNAL))
		return false;

	if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) &&
	    kargs->exit_signal)
		return false;

	return true;
}
static bool clone3_args_valid(const struct kernel_clone_args *kargs)
{
	 
	if (kargs->flags & ~CLONE_LEGACY_FLAGS)
		return false;

	 
	if (kargs->flags & (CLONE_DETACHED | CSIGNAL))
		return false;

	if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) &&
	    kargs->exit_signal)
		return false;

	return true;
}