Lines Matching +defs:p +defs:top
638 pr_alert("BUG: Bad rss-counter state mm:%p type:%s val:%ld Comm:%s Pid:%d\n",
1048 struct task_struct *p)
1051 if (mm->owner == p)
1056 static void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
1059 mm->owner = p;
1080 static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p)
1098 mm_init_owner(mm, p);
1127 if (init_new_context(p, mm))
1130 if (mm_alloc_cid(mm, p))
1772 static void copy_seccomp(struct task_struct *p)
1785 p->seccomp = current->seccomp;
1793 task_set_no_new_privs(p);
1800 if (p->seccomp.mode != SECCOMP_MODE_DISABLED)
1801 set_task_syscall_work(p, SECCOMP);
1812 static void rt_mutex_init_task(struct task_struct *p)
1814 raw_spin_lock_init(&p->pi_lock);
1816 p->pi_waiters = RB_ROOT_CACHED;
1817 p->pi_top_task = NULL;
1818 p->pi_blocked_on = NULL;
1839 static inline void rcu_copy_process(struct task_struct *p)
1842 p->rcu_read_lock_nesting = 0;
1843 p->rcu_read_unlock_special.s = 0;
1844 p->rcu_blocked_node = NULL;
1845 INIT_LIST_HEAD(&p->rcu_node_entry);
1848 p->rcu_tasks_holdout = false;
1849 INIT_LIST_HEAD(&p->rcu_tasks_holdout_list);
1850 p->rcu_tasks_idle_cpu = -1;
1851 INIT_LIST_HEAD(&p->rcu_tasks_exit_list);
1854 p->trc_reader_nesting = 0;
1964 static void rv_task_fork(struct task_struct *p)
1966 memset(&p->rv, 0, sizeof(p->rv));
1969 #define rv_task_fork(p) do {} while (0)
1996 struct task_struct *p;
2110 p = dup_task_struct(current, node);
2111 if (!p)
2113 retval = copy_exec_state(clone_flags, p);
2116 p->flags &= ~PF_KTHREAD;
2118 p->flags |= PF_KTHREAD;
2124 p->flags |= PF_USER_WORKER;
2125 siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP));
2128 p->flags |= PF_IO_WORKER;
2131 strscpy_pad(p->comm, args->name, sizeof(p->comm));
2133 p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? args->child_tid : NULL;
2137 p->clear_child_tid = (clone_flags & CLONE_CHILD_CLEARTID) ? args->child_tid : NULL;
2139 ftrace_graph_init_task(p);
2141 rt_mutex_init_task(p);
2142 raw_spin_lock_init(&p->blocked_lock);
2146 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
2148 retval = copy_creds(p, clone_flags);
2153 if (is_rlimit_overlimit(task_ucounts(p), UCOUNT_RLIMIT_NPROC, rlimit(RLIMIT_NPROC))) {
2154 if (p->real_cred->user != INIT_USER &&
2169 delayacct_tsk_init(p); /* Must remain after dup_task_struct() */
2170 p->flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER | PF_IDLE | PF_NO_SETAFFINITY);
2171 p->flags |= PF_FORKNOEXEC;
2172 INIT_LIST_HEAD(&p->children);
2173 INIT_LIST_HEAD(&p->sibling);
2174 rcu_copy_process(p);
2175 p->vfork_done = NULL;
2176 spin_lock_init(&p->alloc_lock);
2178 init_sigpending(&p->pending);
2180 p->utime = p->stime = p->gtime = 0;
2182 p->utimescaled = p->stimescaled = 0;
2184 prev_cputime_init(&p->prev_cputime);
2187 seqcount_init(&p->vtime.seqcount);
2188 p->vtime.starttime = 0;
2189 p->vtime.state = VTIME_INACTIVE;
2193 p->io_uring = NULL;
2194 retval = io_uring_fork(p);
2200 p->default_timer_slack_ns = current->timer_slack_ns;
2203 p->psi_flags = 0;
2206 task_io_accounting_init(&p->ioac);
2207 acct_clear_integrals(p);
2209 posix_cputimers_init(&p->posix_cputimers);
2210 tick_dep_init_task(p);
2212 p->io_context = NULL;
2213 audit_set_context(p, NULL);
2214 cgroup_fork(p);
2216 if (!set_kthread_struct(p))
2220 p->mempolicy = mpol_dup(p->mempolicy);
2221 if (IS_ERR(p->mempolicy)) {
2222 retval = PTR_ERR(p->mempolicy);
2223 p->mempolicy = NULL;
2228 p->cpuset_mem_spread_rotor = NUMA_NO_NODE;
2229 seqcount_spinlock_init(&p->mems_allowed_seq, &p->alloc_lock);
2232 memset(&p->irqtrace, 0, sizeof(p->irqtrace));
2233 p->irqtrace.hardirq_disable_ip = _THIS_IP_;
2234 p->irqtrace.softirq_enable_ip = _THIS_IP_;
2235 p->softirqs_enabled = 1;
2236 p->softirq_context = 0;
2239 p->pagefault_disabled = 0;
2241 lockdep_init_task(p);
2243 p->blocked_on = NULL; /* not blocked yet */
2244 p->blocked_donor = NULL; /* nobody is boosting p yet */
2247 p->sequential_io = 0;
2248 p->sequential_io_avg = 0;
2251 RCU_INIT_POINTER(p->bpf_storage, NULL);
2252 p->bpf_ctx = NULL;
2255 unwind_task_init(p);
2258 retval = sched_fork(clone_flags, p);
2262 retval = perf_event_init_task(p, clone_flags);
2265 retval = audit_alloc(p);
2269 shm_init_task(p);
2270 retval = security_task_alloc(p, clone_flags);
2273 retval = copy_semundo(clone_flags, p);
2276 retval = copy_files(clone_flags, p, args->no_files);
2279 retval = copy_fs(clone_flags, p);
2282 retval = copy_sighand(clone_flags, p);
2285 retval = copy_signal(clone_flags, p);
2288 retval = copy_mm(clone_flags, p);
2291 retval = copy_namespaces(clone_flags, p);
2294 retval = copy_io(clone_flags, p);
2297 retval = copy_thread(p, args);
2301 stackleak_task_init(p);
2304 pid = alloc_pid(p->nsproxy->pid_ns_for_children, args->set_tid,
2340 p->plug = NULL;
2341 p->flags &= ~PF_BLOCK_TS;
2343 futex_init_task(p);
2349 sas_ss_reset(p);
2355 user_disable_single_step(p);
2356 clear_task_syscall_work(p, SYSCALL_TRACE);
2358 clear_task_syscall_work(p, SYSCALL_EMU);
2360 clear_tsk_latency_tracing(p);
2363 p->pid = pid_nr(pid);
2365 p->group_leader = current->group_leader;
2366 p->tgid = current->tgid;
2368 p->group_leader = p;
2369 p->tgid = p->pid;
2372 p->nr_dirtied = 0;
2373 p->nr_dirtied_pause = 128 >> (PAGE_SHIFT - 10);
2374 p->dirty_paused_when = 0;
2376 p->pdeath_signal = 0;
2377 p->task_works = NULL;
2378 clear_posix_cputimers_work(p);
2381 p->kretprobe_instances.first = NULL;
2384 p->rethooks.first = NULL;
2393 retval = cgroup_can_fork(p, args);
2406 retval = sched_cgroup_fork(p, args);
2429 p->start_time = ktime_get_ns();
2430 p->start_boottime = ktime_get_boottime_ns();
2440 p->real_parent = current->real_parent;
2441 p->parent_exec_id = current->parent_exec_id;
2443 p->exit_signal = -1;
2445 p->exit_signal = current->group_leader->exit_signal;
2447 p->real_parent = current;
2448 p->parent_exec_id = current->self_exec_id;
2449 p->exit_signal = args->exit_signal;
2452 klp_copy_process(p);
2454 sched_core_fork(p);
2458 rv_task_fork(p);
2460 rseq_fork(p, clone_flags);
2484 copy_seccomp(p);
2487 task_set_no_new_privs(p);
2489 init_task_pid_links(p);
2490 if (likely(p->pid)) {
2491 ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace);
2493 init_task_pid(p, PIDTYPE_PID, pid);
2494 if (thread_group_leader(p)) {
2495 init_task_pid(p, PIDTYPE_TGID, pid);
2496 init_task_pid(p, PIDTYPE_PGID, task_pgrp(current));
2497 init_task_pid(p, PIDTYPE_SID, task_session(current));
2503 WRITE_ONCE(ns->child_reaper, p);
2504 p->signal->flags |= SIGNAL_UNKILLABLE;
2506 p->signal->shared_pending.signal = delayed.signal;
2507 p->signal->tty = tty_kref_get(current->signal->tty);
2513 p->signal->has_child_subreaper = p->real_parent->signal->has_child_subreaper ||
2514 p->real_parent->signal->is_child_subreaper;
2516 p->signal->autoreap = 1;
2517 list_add_tail(&p->sibling, &p->real_parent->children);
2518 list_add_tail_rcu(&p->tasks, &init_task.tasks);
2519 attach_pid(p, PIDTYPE_TGID);
2520 attach_pid(p, PIDTYPE_PGID);
2521 attach_pid(p, PIDTYPE_SID);
2528 task_join_group_stop(p);
2529 list_add_tail_rcu(&p->thread_node,
2530 &p->signal->thread_head);
2532 attach_pid(p, PIDTYPE_PID);
2538 syscall_tracepoint_update(p);
2544 proc_fork_connector(p);
2546 * sched_ext needs @p to be associated with its cgroup in its post_fork
2549 cgroup_post_fork(p, args);
2550 sched_post_fork(p);
2551 perf_event_fork(p);
2553 trace_task_newtask(p, clone_flags);
2554 uprobe_copy_process(p, clone_flags);
2555 user_events_fork(p, clone_flags);
2557 copy_oom_score_adj(clone_flags, p);
2559 return p;
2562 sched_core_free(p);
2566 cgroup_cancel_fork(p, args);
2576 exit_thread(p);
2578 if (p->io_context)
2579 exit_io_context(p);
2581 exit_nsproxy_namespaces(p);
2583 if (p->mm) {
2584 mm_clear_owner(p->mm, p);
2585 mmput(p->mm);
2589 free_signal_struct(p->signal);
2591 __cleanup_sighand(p->sighand);
2593 exit_fs(p); /* blocking */
2595 exit_files(p); /* blocking */
2597 exit_sem(p);
2599 security_task_free(p);
2601 audit_free(p);
2603 perf_event_free_task(p);
2605 sched_cancel_fork(p);
2607 lockdep_free_task(p);
2609 mpol_put(p->mempolicy);
2612 io_uring_free(p);
2613 delayacct_tsk_free(p);
2615 dec_rlimit_ucounts(task_ucounts(p), UCOUNT_RLIMIT_NPROC, 1);
2616 exit_cred_namespaces(p);
2617 exit_creds(p);
2619 WRITE_ONCE(p->__state, TASK_DEAD);
2620 exit_task_stack_account(p);
2621 put_task_stack(p);
2622 delayed_free_task(p);
2670 * wake_up_new_task(p). All signals are blocked in the created task.
2698 struct task_struct *p;
2747 p = copy_process(NULL, trace, NUMA_NO_NODE, args);
2750 if (IS_ERR(p))
2751 return PTR_ERR(p);
2757 trace_sched_process_fork(current, p);
2759 pid = get_task_pid(p, PIDTYPE_PID);
2766 p->vfork_done = &vfork;
2768 get_task_struct(p);
2773 task_lock(p);
2774 lru_gen_add_mm(p->mm);
2775 task_unlock(p);
2778 wake_up_new_task(p);
2785 if (!wait_for_vfork_done(p, &vfork))
3052 void walk_process_tree(struct task_struct *top, proc_visitor visitor, void *data)
3058 leader = top = top->group_leader;
3074 if (leader != top) {