Lines Matching refs:p
1228 struct task_struct *p) in mm_clear_owner() argument
1231 if (mm->owner == p) in mm_clear_owner()
1236 static void mm_init_owner(struct mm_struct *mm, struct task_struct *p) in mm_init_owner() argument
1239 mm->owner = p; in mm_init_owner()
1259 static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p, in mm_init() argument
1278 mm_init_owner(mm, p); in mm_init()
1300 if (init_new_context(p, mm)) in mm_init()
1909 static void copy_seccomp(struct task_struct *p) in copy_seccomp() argument
1922 p->seccomp = current->seccomp; in copy_seccomp()
1930 task_set_no_new_privs(p); in copy_seccomp()
1937 if (p->seccomp.mode != SECCOMP_MODE_DISABLED) in copy_seccomp()
1938 set_task_syscall_work(p, SECCOMP); in copy_seccomp()
1949 static void rt_mutex_init_task(struct task_struct *p) in rt_mutex_init_task() argument
1951 raw_spin_lock_init(&p->pi_lock); in rt_mutex_init_task()
1953 p->pi_waiters = RB_ROOT_CACHED; in rt_mutex_init_task()
1954 p->pi_top_task = NULL; in rt_mutex_init_task()
1955 p->pi_blocked_on = NULL; in rt_mutex_init_task()
1976 static inline void rcu_copy_process(struct task_struct *p) in rcu_copy_process() argument
1979 p->rcu_read_lock_nesting = 0; in rcu_copy_process()
1980 p->rcu_read_unlock_special.s = 0; in rcu_copy_process()
1981 p->rcu_blocked_node = NULL; in rcu_copy_process()
1982 INIT_LIST_HEAD(&p->rcu_node_entry); in rcu_copy_process()
1985 p->rcu_tasks_holdout = false; in rcu_copy_process()
1986 INIT_LIST_HEAD(&p->rcu_tasks_holdout_list); in rcu_copy_process()
1987 p->rcu_tasks_idle_cpu = -1; in rcu_copy_process()
1988 INIT_LIST_HEAD(&p->rcu_tasks_exit_list); in rcu_copy_process()
1991 p->trc_reader_nesting = 0; in rcu_copy_process()
1992 p->trc_reader_special.s = 0; in rcu_copy_process()
1993 INIT_LIST_HEAD(&p->trc_holdout_list); in rcu_copy_process()
1994 INIT_LIST_HEAD(&p->trc_blkd_node); in rcu_copy_process()
2121 static void rv_task_fork(struct task_struct *p) in rv_task_fork() argument
2126 p->rv[i].da_mon.monitoring = false; in rv_task_fork()
2129 #define rv_task_fork(p) do {} while (0) argument
2147 struct task_struct *p; in copy_process() local
2226 p = dup_task_struct(current, node); in copy_process()
2227 if (!p) in copy_process()
2229 p->flags &= ~PF_KTHREAD; in copy_process()
2231 p->flags |= PF_KTHREAD; in copy_process()
2237 p->flags |= PF_USER_WORKER; in copy_process()
2238 siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); in copy_process()
2241 p->flags |= PF_IO_WORKER; in copy_process()
2243 cpufreq_task_times_init(p); in copy_process()
2246 strscpy_pad(p->comm, args->name, sizeof(p->comm)); in copy_process()
2248 p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? args->child_tid : NULL; in copy_process()
2252 p->clear_child_tid = (clone_flags & CLONE_CHILD_CLEARTID) ? args->child_tid : NULL; in copy_process()
2254 ftrace_graph_init_task(p); in copy_process()
2256 rt_mutex_init_task(p); in copy_process()
2257 raw_spin_lock_init(&p->blocked_lock); in copy_process()
2261 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); in copy_process()
2263 retval = copy_creds(p, clone_flags); in copy_process()
2268 if (is_rlimit_overlimit(task_ucounts(p), UCOUNT_RLIMIT_NPROC, rlimit(RLIMIT_NPROC))) { in copy_process()
2269 if (p->real_cred->user != INIT_USER && in copy_process()
2284 delayacct_tsk_init(p); /* Must remain after dup_task_struct() */ in copy_process()
2285 p->flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER | PF_IDLE | PF_NO_SETAFFINITY); in copy_process()
2286 p->flags |= PF_FORKNOEXEC; in copy_process()
2287 INIT_LIST_HEAD(&p->children); in copy_process()
2288 INIT_LIST_HEAD(&p->sibling); in copy_process()
2289 rcu_copy_process(p); in copy_process()
2290 p->vfork_done = NULL; in copy_process()
2291 spin_lock_init(&p->alloc_lock); in copy_process()
2293 init_sigpending(&p->pending); in copy_process()
2295 p->utime = p->stime = p->gtime = 0; in copy_process()
2297 p->utimescaled = p->stimescaled = 0; in copy_process()
2299 prev_cputime_init(&p->prev_cputime); in copy_process()
2302 seqcount_init(&p->vtime.seqcount); in copy_process()
2303 p->vtime.starttime = 0; in copy_process()
2304 p->vtime.state = VTIME_INACTIVE; in copy_process()
2308 p->io_uring = NULL; in copy_process()
2311 p->default_timer_slack_ns = current->timer_slack_ns; in copy_process()
2314 p->psi_flags = 0; in copy_process()
2317 task_io_accounting_init(&p->ioac); in copy_process()
2318 acct_clear_integrals(p); in copy_process()
2320 posix_cputimers_init(&p->posix_cputimers); in copy_process()
2321 tick_dep_init_task(p); in copy_process()
2323 p->io_context = NULL; in copy_process()
2324 audit_set_context(p, NULL); in copy_process()
2325 cgroup_fork(p); in copy_process()
2327 if (!set_kthread_struct(p)) in copy_process()
2331 p->mempolicy = mpol_dup(p->mempolicy); in copy_process()
2332 if (IS_ERR(p->mempolicy)) { in copy_process()
2333 retval = PTR_ERR(p->mempolicy); in copy_process()
2334 p->mempolicy = NULL; in copy_process()
2339 p->cpuset_mem_spread_rotor = NUMA_NO_NODE; in copy_process()
2340 seqcount_spinlock_init(&p->mems_allowed_seq, &p->alloc_lock); in copy_process()
2343 memset(&p->irqtrace, 0, sizeof(p->irqtrace)); in copy_process()
2344 p->irqtrace.hardirq_disable_ip = _THIS_IP_; in copy_process()
2345 p->irqtrace.softirq_enable_ip = _THIS_IP_; in copy_process()
2346 p->softirqs_enabled = 1; in copy_process()
2347 p->softirq_context = 0; in copy_process()
2350 p->pagefault_disabled = 0; in copy_process()
2353 lockdep_init_task(p); in copy_process()
2356 p->blocked_on_state = BO_RUNNABLE; in copy_process()
2357 p->blocked_on = NULL; /* not blocked yet */ in copy_process()
2358 p->blocked_donor = NULL; /* nobody is boosting p yet */ in copy_process()
2359 INIT_LIST_HEAD(&p->migration_node); in copy_process()
2361 INIT_LIST_HEAD(&p->blocked_head); in copy_process()
2362 INIT_LIST_HEAD(&p->blocked_node); in copy_process()
2363 INIT_LIST_HEAD(&p->blocked_activation_node); in copy_process()
2364 p->sleeping_owner = NULL; in copy_process()
2367 p->sequential_io = 0; in copy_process()
2368 p->sequential_io_avg = 0; in copy_process()
2371 RCU_INIT_POINTER(p->bpf_storage, NULL); in copy_process()
2372 p->bpf_ctx = NULL; in copy_process()
2376 retval = sched_fork(clone_flags, p); in copy_process()
2380 retval = perf_event_init_task(p, clone_flags); in copy_process()
2383 retval = audit_alloc(p); in copy_process()
2387 shm_init_task(p); in copy_process()
2388 retval = security_task_alloc(p, clone_flags); in copy_process()
2391 retval = copy_semundo(clone_flags, p); in copy_process()
2394 retval = copy_files(clone_flags, p, args->no_files); in copy_process()
2397 retval = copy_fs(clone_flags, p); in copy_process()
2400 retval = copy_sighand(clone_flags, p); in copy_process()
2403 retval = copy_signal(clone_flags, p); in copy_process()
2406 retval = copy_mm(clone_flags, p); in copy_process()
2409 retval = copy_namespaces(clone_flags, p); in copy_process()
2412 retval = copy_io(clone_flags, p); in copy_process()
2415 retval = copy_thread(p, args); in copy_process()
2419 stackleak_task_init(p); in copy_process()
2422 pid = alloc_pid(p->nsproxy->pid_ns_for_children, args->set_tid, in copy_process()
2450 p->plug = NULL; in copy_process()
2452 futex_init_task(p); in copy_process()
2458 sas_ss_reset(p); in copy_process()
2464 user_disable_single_step(p); in copy_process()
2465 clear_task_syscall_work(p, SYSCALL_TRACE); in copy_process()
2467 clear_task_syscall_work(p, SYSCALL_EMU); in copy_process()
2469 clear_tsk_latency_tracing(p); in copy_process()
2472 p->pid = pid_nr(pid); in copy_process()
2474 p->group_leader = current->group_leader; in copy_process()
2475 p->tgid = current->tgid; in copy_process()
2477 p->group_leader = p; in copy_process()
2478 p->tgid = p->pid; in copy_process()
2481 p->nr_dirtied = 0; in copy_process()
2482 p->nr_dirtied_pause = 128 >> (PAGE_SHIFT - 10); in copy_process()
2483 p->dirty_paused_when = 0; in copy_process()
2485 p->pdeath_signal = 0; in copy_process()
2486 p->task_works = NULL; in copy_process()
2487 clear_posix_cputimers_work(p); in copy_process()
2490 p->kretprobe_instances.first = NULL; in copy_process()
2493 p->rethooks.first = NULL; in copy_process()
2502 retval = cgroup_can_fork(p, args); in copy_process()
2515 retval = sched_cgroup_fork(p, args); in copy_process()
2527 p->start_time = ktime_get_ns(); in copy_process()
2528 p->start_boottime = ktime_get_boottime_ns(); in copy_process()
2538 p->real_parent = current->real_parent; in copy_process()
2539 p->parent_exec_id = current->parent_exec_id; in copy_process()
2541 p->exit_signal = -1; in copy_process()
2543 p->exit_signal = current->group_leader->exit_signal; in copy_process()
2545 p->real_parent = current; in copy_process()
2546 p->parent_exec_id = current->self_exec_id; in copy_process()
2547 p->exit_signal = args->exit_signal; in copy_process()
2550 klp_copy_process(p); in copy_process()
2552 sched_core_fork(p); in copy_process()
2556 rv_task_fork(p); in copy_process()
2558 rseq_fork(p, clone_flags); in copy_process()
2578 copy_seccomp(p); in copy_process()
2580 init_task_pid_links(p); in copy_process()
2581 if (likely(p->pid)) { in copy_process()
2582 ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace); in copy_process()
2584 init_task_pid(p, PIDTYPE_PID, pid); in copy_process()
2585 if (thread_group_leader(p)) { in copy_process()
2586 init_task_pid(p, PIDTYPE_TGID, pid); in copy_process()
2587 init_task_pid(p, PIDTYPE_PGID, task_pgrp(current)); in copy_process()
2588 init_task_pid(p, PIDTYPE_SID, task_session(current)); in copy_process()
2591 ns_of_pid(pid)->child_reaper = p; in copy_process()
2592 p->signal->flags |= SIGNAL_UNKILLABLE; in copy_process()
2594 p->signal->shared_pending.signal = delayed.signal; in copy_process()
2595 p->signal->tty = tty_kref_get(current->signal->tty); in copy_process()
2601 p->signal->has_child_subreaper = p->real_parent->signal->has_child_subreaper || in copy_process()
2602 p->real_parent->signal->is_child_subreaper; in copy_process()
2603 list_add_tail(&p->sibling, &p->real_parent->children); in copy_process()
2604 list_add_tail_rcu(&p->tasks, &init_task.tasks); in copy_process()
2605 attach_pid(p, PIDTYPE_TGID); in copy_process()
2606 attach_pid(p, PIDTYPE_PGID); in copy_process()
2607 attach_pid(p, PIDTYPE_SID); in copy_process()
2614 task_join_group_stop(p); in copy_process()
2615 list_add_tail_rcu(&p->thread_node, in copy_process()
2616 &p->signal->thread_head); in copy_process()
2618 attach_pid(p, PIDTYPE_PID); in copy_process()
2625 syscall_tracepoint_update(p); in copy_process()
2631 proc_fork_connector(p); in copy_process()
2632 sched_post_fork(p); in copy_process()
2633 cgroup_post_fork(p, args); in copy_process()
2634 perf_event_fork(p); in copy_process()
2636 trace_task_newtask(p, clone_flags); in copy_process()
2637 uprobe_copy_process(p, clone_flags); in copy_process()
2638 user_events_fork(p, clone_flags); in copy_process()
2640 copy_oom_score_adj(clone_flags, p); in copy_process()
2642 return p; in copy_process()
2645 sched_core_free(p); in copy_process()
2649 cgroup_cancel_fork(p, args); in copy_process()
2659 exit_thread(p); in copy_process()
2661 if (p->io_context) in copy_process()
2662 exit_io_context(p); in copy_process()
2664 exit_task_namespaces(p); in copy_process()
2666 if (p->mm) { in copy_process()
2667 mm_clear_owner(p->mm, p); in copy_process()
2668 mmput(p->mm); in copy_process()
2672 free_signal_struct(p->signal); in copy_process()
2674 __cleanup_sighand(p->sighand); in copy_process()
2676 exit_fs(p); /* blocking */ in copy_process()
2678 exit_files(p); /* blocking */ in copy_process()
2680 exit_sem(p); in copy_process()
2682 security_task_free(p); in copy_process()
2684 audit_free(p); in copy_process()
2686 perf_event_free_task(p); in copy_process()
2688 sched_cancel_fork(p); in copy_process()
2690 lockdep_free_task(p); in copy_process()
2692 mpol_put(p->mempolicy); in copy_process()
2695 delayacct_tsk_free(p); in copy_process()
2697 dec_rlimit_ucounts(task_ucounts(p), UCOUNT_RLIMIT_NPROC, 1); in copy_process()
2698 exit_creds(p); in copy_process()
2700 WRITE_ONCE(p->__state, TASK_DEAD); in copy_process()
2701 exit_task_stack_account(p); in copy_process()
2702 put_task_stack(p); in copy_process()
2703 delayed_free_task(p); in copy_process()
2783 struct task_struct *p; in kernel_clone() local
2819 p = copy_process(NULL, trace, NUMA_NO_NODE, args); in kernel_clone()
2822 if (IS_ERR(p)) in kernel_clone()
2823 return PTR_ERR(p); in kernel_clone()
2825 cpufreq_task_times_alloc(p); in kernel_clone()
2831 trace_sched_process_fork(current, p); in kernel_clone()
2833 pid = get_task_pid(p, PIDTYPE_PID); in kernel_clone()
2840 p->vfork_done = &vfork; in kernel_clone()
2842 get_task_struct(p); in kernel_clone()
2847 task_lock(p); in kernel_clone()
2848 lru_gen_add_mm(p->mm); in kernel_clone()
2849 task_unlock(p); in kernel_clone()
2852 wake_up_new_task(p); in kernel_clone()
2859 if (!wait_for_vfork_done(p, &vfork)) in kernel_clone()