Lines Matching refs:uca

378 linux_clone3_args_valid(struct l_user_clone_args *uca)  in linux_clone3_args_valid()  argument
382 if ((uca->flags & ~(LINUX_CLONE_LEGACY_FLAGS | in linux_clone3_args_valid()
385 if ((uca->flags & (LINUX_CLONE_DETACHED | LINUX_CSIGNAL)) != 0) in linux_clone3_args_valid()
388 if ((uca->flags & (LINUX_CLONE_SIGHAND | LINUX_CLONE_CLEAR_SIGHAND)) == in linux_clone3_args_valid()
391 if ((uca->flags & (LINUX_CLONE_THREAD | LINUX_CLONE_PARENT)) != 0 && in linux_clone3_args_valid()
392 uca->exit_signal != 0) in linux_clone3_args_valid()
396 if (uca->set_tid_size > LINUX_MAX_PID_NS_LEVEL) in linux_clone3_args_valid()
398 if (uca->set_tid == 0 && uca->set_tid_size > 0) in linux_clone3_args_valid()
400 if (uca->set_tid != 0 && uca->set_tid_size == 0) in linux_clone3_args_valid()
403 if (uca->stack == 0 && uca->stack_size > 0) in linux_clone3_args_valid()
405 if (uca->stack != 0 && uca->stack_size == 0) in linux_clone3_args_valid()
409 if ((uca->exit_signal & ~(uint64_t)LINUX_CSIGNAL) != 0) in linux_clone3_args_valid()
413 if ((uca->flags & LINUX_CLONE_NEWTIME) != 0) { in linux_clone3_args_valid()
417 if ((uca->flags & LINUX_CLONE_INTO_CGROUP) != 0) { in linux_clone3_args_valid()
421 if (uca->set_tid != 0 || uca->set_tid_size != 0) { in linux_clone3_args_valid()
432 struct l_user_clone_args *uca; in linux_clone3() local
447 size = max(args->usize, sizeof(*uca)); in linux_clone3()
448 uca = malloc(size, M_LINUX, M_WAITOK | M_ZERO); in linux_clone3()
449 error = copyin(args->uargs, uca, args->usize); in linux_clone3()
452 error = linux_clone3_args_valid(uca); in linux_clone3()
456 ca->flags = uca->flags; in linux_clone3()
457 ca->child_tid = PTRIN(uca->child_tid); in linux_clone3()
458 ca->parent_tid = PTRIN(uca->parent_tid); in linux_clone3()
459 ca->exit_signal = uca->exit_signal; in linux_clone3()
460 ca->stack = uca->stack + uca->stack_size; in linux_clone3()
461 ca->stack_size = uca->stack_size; in linux_clone3()
462 ca->tls = uca->tls; in linux_clone3()
470 free(uca, M_LINUX); in linux_clone3()