Lines Matching refs:p

999 					   struct task_struct *p)  in mm_clear_owner()  argument
1002 if (mm->owner == p) in mm_clear_owner()
1007 static void mm_init_owner(struct mm_struct *mm, struct task_struct *p) in mm_init_owner() argument
1010 mm->owner = p; in mm_init_owner()
1030 static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p, in mm_init() argument
1049 mm_init_owner(mm, p); in mm_init()
1077 if (init_new_context(p, mm)) in mm_init()
1080 if (mm_alloc_cid(mm, p)) in mm_init()
1700 static void copy_seccomp(struct task_struct *p) in copy_seccomp() argument
1713 p->seccomp = current->seccomp; in copy_seccomp()
1721 task_set_no_new_privs(p); in copy_seccomp()
1728 if (p->seccomp.mode != SECCOMP_MODE_DISABLED) in copy_seccomp()
1729 set_task_syscall_work(p, SECCOMP); in copy_seccomp()
1740 static void rt_mutex_init_task(struct task_struct *p) in rt_mutex_init_task() argument
1742 raw_spin_lock_init(&p->pi_lock); in rt_mutex_init_task()
1744 p->pi_waiters = RB_ROOT_CACHED; in rt_mutex_init_task()
1745 p->pi_top_task = NULL; in rt_mutex_init_task()
1746 p->pi_blocked_on = NULL; in rt_mutex_init_task()
1767 static inline void rcu_copy_process(struct task_struct *p) in rcu_copy_process() argument
1770 p->rcu_read_lock_nesting = 0; in rcu_copy_process()
1771 p->rcu_read_unlock_special.s = 0; in rcu_copy_process()
1772 p->rcu_blocked_node = NULL; in rcu_copy_process()
1773 INIT_LIST_HEAD(&p->rcu_node_entry); in rcu_copy_process()
1776 p->rcu_tasks_holdout = false; in rcu_copy_process()
1777 INIT_LIST_HEAD(&p->rcu_tasks_holdout_list); in rcu_copy_process()
1778 p->rcu_tasks_idle_cpu = -1; in rcu_copy_process()
1779 INIT_LIST_HEAD(&p->rcu_tasks_exit_list); in rcu_copy_process()
1782 p->trc_reader_nesting = 0; in rcu_copy_process()
1783 p->trc_reader_special.s = 0; in rcu_copy_process()
1784 INIT_LIST_HEAD(&p->trc_holdout_list); in rcu_copy_process()
1785 INIT_LIST_HEAD(&p->trc_blkd_node); in rcu_copy_process()
1895 static void rv_task_fork(struct task_struct *p) in rv_task_fork() argument
1897 memset(&p->rv, 0, sizeof(p->rv)); in rv_task_fork()
1900 #define rv_task_fork(p) do {} while (0) argument
1925 struct task_struct *p; in copy_process() local
2004 p = dup_task_struct(current, node); in copy_process()
2005 if (!p) in copy_process()
2007 p->flags &= ~PF_KTHREAD; in copy_process()
2009 p->flags |= PF_KTHREAD; in copy_process()
2015 p->flags |= PF_USER_WORKER; in copy_process()
2016 siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP)); in copy_process()
2019 p->flags |= PF_IO_WORKER; in copy_process()
2022 strscpy_pad(p->comm, args->name, sizeof(p->comm)); in copy_process()
2024 p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? args->child_tid : NULL; in copy_process()
2028 p->clear_child_tid = (clone_flags & CLONE_CHILD_CLEARTID) ? args->child_tid : NULL; in copy_process()
2030 ftrace_graph_init_task(p); in copy_process()
2032 rt_mutex_init_task(p); in copy_process()
2036 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); in copy_process()
2038 retval = copy_creds(p, clone_flags); in copy_process()
2043 if (is_rlimit_overlimit(task_ucounts(p), UCOUNT_RLIMIT_NPROC, rlimit(RLIMIT_NPROC))) { in copy_process()
2044 if (p->real_cred->user != INIT_USER && in copy_process()
2059 delayacct_tsk_init(p); /* Must remain after dup_task_struct() */ in copy_process()
2060 p->flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER | PF_IDLE | PF_NO_SETAFFINITY); in copy_process()
2061 p->flags |= PF_FORKNOEXEC; in copy_process()
2062 INIT_LIST_HEAD(&p->children); in copy_process()
2063 INIT_LIST_HEAD(&p->sibling); in copy_process()
2064 rcu_copy_process(p); in copy_process()
2065 p->vfork_done = NULL; in copy_process()
2066 spin_lock_init(&p->alloc_lock); in copy_process()
2068 init_sigpending(&p->pending); in copy_process()
2070 p->utime = p->stime = p->gtime = 0; in copy_process()
2072 p->utimescaled = p->stimescaled = 0; in copy_process()
2074 prev_cputime_init(&p->prev_cputime); in copy_process()
2077 seqcount_init(&p->vtime.seqcount); in copy_process()
2078 p->vtime.starttime = 0; in copy_process()
2079 p->vtime.state = VTIME_INACTIVE; in copy_process()
2083 p->io_uring = NULL; in copy_process()
2086 p->default_timer_slack_ns = current->timer_slack_ns; in copy_process()
2089 p->psi_flags = 0; in copy_process()
2092 task_io_accounting_init(&p->ioac); in copy_process()
2093 acct_clear_integrals(p); in copy_process()
2095 posix_cputimers_init(&p->posix_cputimers); in copy_process()
2096 tick_dep_init_task(p); in copy_process()
2098 p->io_context = NULL; in copy_process()
2099 audit_set_context(p, NULL); in copy_process()
2100 cgroup_fork(p); in copy_process()
2102 if (!set_kthread_struct(p)) in copy_process()
2106 p->mempolicy = mpol_dup(p->mempolicy); in copy_process()
2107 if (IS_ERR(p->mempolicy)) { in copy_process()
2108 retval = PTR_ERR(p->mempolicy); in copy_process()
2109 p->mempolicy = NULL; in copy_process()
2114 p->cpuset_mem_spread_rotor = NUMA_NO_NODE; in copy_process()
2115 seqcount_spinlock_init(&p->mems_allowed_seq, &p->alloc_lock); in copy_process()
2118 memset(&p->irqtrace, 0, sizeof(p->irqtrace)); in copy_process()
2119 p->irqtrace.hardirq_disable_ip = _THIS_IP_; in copy_process()
2120 p->irqtrace.softirq_enable_ip = _THIS_IP_; in copy_process()
2121 p->softirqs_enabled = 1; in copy_process()
2122 p->softirq_context = 0; in copy_process()
2125 p->pagefault_disabled = 0; in copy_process()
2128 lockdep_init_task(p); in copy_process()
2131 p->blocked_on = NULL; /* not blocked yet */ in copy_process()
2134 p->sequential_io = 0; in copy_process()
2135 p->sequential_io_avg = 0; in copy_process()
2138 RCU_INIT_POINTER(p->bpf_storage, NULL); in copy_process()
2139 p->bpf_ctx = NULL; in copy_process()
2142 unwind_task_init(p); in copy_process()
2145 retval = sched_fork(clone_flags, p); in copy_process()
2149 retval = perf_event_init_task(p, clone_flags); in copy_process()
2152 retval = audit_alloc(p); in copy_process()
2156 shm_init_task(p); in copy_process()
2157 retval = security_task_alloc(p, clone_flags); in copy_process()
2160 retval = copy_semundo(clone_flags, p); in copy_process()
2163 retval = copy_files(clone_flags, p, args->no_files); in copy_process()
2166 retval = copy_fs(clone_flags, p); in copy_process()
2169 retval = copy_sighand(clone_flags, p); in copy_process()
2172 retval = copy_signal(clone_flags, p); in copy_process()
2175 retval = copy_mm(clone_flags, p); in copy_process()
2178 retval = copy_namespaces(clone_flags, p); in copy_process()
2181 retval = copy_io(clone_flags, p); in copy_process()
2184 retval = copy_thread(p, args); in copy_process()
2188 stackleak_task_init(p); in copy_process()
2191 pid = alloc_pid(p->nsproxy->pid_ns_for_children, args->set_tid, in copy_process()
2222 p->plug = NULL; in copy_process()
2224 futex_init_task(p); in copy_process()
2230 sas_ss_reset(p); in copy_process()
2236 user_disable_single_step(p); in copy_process()
2237 clear_task_syscall_work(p, SYSCALL_TRACE); in copy_process()
2239 clear_task_syscall_work(p, SYSCALL_EMU); in copy_process()
2241 clear_tsk_latency_tracing(p); in copy_process()
2244 p->pid = pid_nr(pid); in copy_process()
2246 p->group_leader = current->group_leader; in copy_process()
2247 p->tgid = current->tgid; in copy_process()
2249 p->group_leader = p; in copy_process()
2250 p->tgid = p->pid; in copy_process()
2253 p->nr_dirtied = 0; in copy_process()
2254 p->nr_dirtied_pause = 128 >> (PAGE_SHIFT - 10); in copy_process()
2255 p->dirty_paused_when = 0; in copy_process()
2257 p->pdeath_signal = 0; in copy_process()
2258 p->task_works = NULL; in copy_process()
2259 clear_posix_cputimers_work(p); in copy_process()
2262 p->kretprobe_instances.first = NULL; in copy_process()
2265 p->rethooks.first = NULL; in copy_process()
2274 retval = cgroup_can_fork(p, args); in copy_process()
2287 retval = sched_cgroup_fork(p, args); in copy_process()
2314 p->start_time = ktime_get_ns(); in copy_process()
2315 p->start_boottime = ktime_get_boottime_ns(); in copy_process()
2325 p->real_parent = current->real_parent; in copy_process()
2326 p->parent_exec_id = current->parent_exec_id; in copy_process()
2328 p->exit_signal = -1; in copy_process()
2330 p->exit_signal = current->group_leader->exit_signal; in copy_process()
2332 p->real_parent = current; in copy_process()
2333 p->parent_exec_id = current->self_exec_id; in copy_process()
2334 p->exit_signal = args->exit_signal; in copy_process()
2337 klp_copy_process(p); in copy_process()
2339 sched_core_fork(p); in copy_process()
2343 rv_task_fork(p); in copy_process()
2345 rseq_fork(p, clone_flags); in copy_process()
2365 copy_seccomp(p); in copy_process()
2367 init_task_pid_links(p); in copy_process()
2368 if (likely(p->pid)) { in copy_process()
2369 ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace); in copy_process()
2371 init_task_pid(p, PIDTYPE_PID, pid); in copy_process()
2372 if (thread_group_leader(p)) { in copy_process()
2373 init_task_pid(p, PIDTYPE_TGID, pid); in copy_process()
2374 init_task_pid(p, PIDTYPE_PGID, task_pgrp(current)); in copy_process()
2375 init_task_pid(p, PIDTYPE_SID, task_session(current)); in copy_process()
2378 ns_of_pid(pid)->child_reaper = p; in copy_process()
2379 p->signal->flags |= SIGNAL_UNKILLABLE; in copy_process()
2381 p->signal->shared_pending.signal = delayed.signal; in copy_process()
2382 p->signal->tty = tty_kref_get(current->signal->tty); in copy_process()
2388 p->signal->has_child_subreaper = p->real_parent->signal->has_child_subreaper || in copy_process()
2389 p->real_parent->signal->is_child_subreaper; in copy_process()
2390 list_add_tail(&p->sibling, &p->real_parent->children); in copy_process()
2391 list_add_tail_rcu(&p->tasks, &init_task.tasks); in copy_process()
2392 attach_pid(p, PIDTYPE_TGID); in copy_process()
2393 attach_pid(p, PIDTYPE_PGID); in copy_process()
2394 attach_pid(p, PIDTYPE_SID); in copy_process()
2401 task_join_group_stop(p); in copy_process()
2402 list_add_tail_rcu(&p->thread_node, in copy_process()
2403 &p->signal->thread_head); in copy_process()
2405 attach_pid(p, PIDTYPE_PID); in copy_process()
2411 syscall_tracepoint_update(p); in copy_process()
2417 proc_fork_connector(p); in copy_process()
2418 sched_post_fork(p); in copy_process()
2419 cgroup_post_fork(p, args); in copy_process()
2420 perf_event_fork(p); in copy_process()
2422 trace_task_newtask(p, clone_flags); in copy_process()
2423 uprobe_copy_process(p, clone_flags); in copy_process()
2424 user_events_fork(p, clone_flags); in copy_process()
2426 copy_oom_score_adj(clone_flags, p); in copy_process()
2428 return p; in copy_process()
2431 sched_core_free(p); in copy_process()
2435 cgroup_cancel_fork(p, args); in copy_process()
2445 exit_thread(p); in copy_process()
2447 if (p->io_context) in copy_process()
2448 exit_io_context(p); in copy_process()
2450 exit_task_namespaces(p); in copy_process()
2452 if (p->mm) { in copy_process()
2453 mm_clear_owner(p->mm, p); in copy_process()
2454 mmput(p->mm); in copy_process()
2458 free_signal_struct(p->signal); in copy_process()
2460 __cleanup_sighand(p->sighand); in copy_process()
2462 exit_fs(p); /* blocking */ in copy_process()
2464 exit_files(p); /* blocking */ in copy_process()
2466 exit_sem(p); in copy_process()
2468 security_task_free(p); in copy_process()
2470 audit_free(p); in copy_process()
2472 perf_event_free_task(p); in copy_process()
2474 sched_cancel_fork(p); in copy_process()
2476 lockdep_free_task(p); in copy_process()
2478 mpol_put(p->mempolicy); in copy_process()
2481 delayacct_tsk_free(p); in copy_process()
2483 dec_rlimit_ucounts(task_ucounts(p), UCOUNT_RLIMIT_NPROC, 1); in copy_process()
2484 exit_creds(p); in copy_process()
2486 WRITE_ONCE(p->__state, TASK_DEAD); in copy_process()
2487 exit_task_stack_account(p); in copy_process()
2488 put_task_stack(p); in copy_process()
2489 delayed_free_task(p); in copy_process()
2569 struct task_struct *p; in kernel_clone() local
2605 p = copy_process(NULL, trace, NUMA_NO_NODE, args); in kernel_clone()
2608 if (IS_ERR(p)) in kernel_clone()
2609 return PTR_ERR(p); in kernel_clone()
2615 trace_sched_process_fork(current, p); in kernel_clone()
2617 pid = get_task_pid(p, PIDTYPE_PID); in kernel_clone()
2624 p->vfork_done = &vfork; in kernel_clone()
2626 get_task_struct(p); in kernel_clone()
2631 task_lock(p); in kernel_clone()
2632 lru_gen_add_mm(p->mm); in kernel_clone()
2633 task_unlock(p); in kernel_clone()
2636 wake_up_new_task(p); in kernel_clone()
2643 if (!wait_for_vfork_done(p, &vfork)) in kernel_clone()