fork.c (69234acee54407962a20bedf90ef9c96326994b5) fork.c (de60f5f10c58d4f34b68622442c0e04180367f3f)
1/*
2 * linux/kernel/fork.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/*
8 * 'fork.c' contains the help-routines for the 'fork' system call

--- 237 unchanged lines hidden (view full) ---

246}
247
248void __put_task_struct(struct task_struct *tsk)
249{
250 WARN_ON(!tsk->exit_state);
251 WARN_ON(atomic_read(&tsk->usage));
252 WARN_ON(tsk == current);
253
1/*
2 * linux/kernel/fork.c
3 *
4 * Copyright (C) 1991, 1992 Linus Torvalds
5 */
6
7/*
8 * 'fork.c' contains the help-routines for the 'fork' system call

--- 237 unchanged lines hidden (view full) ---

246}
247
248void __put_task_struct(struct task_struct *tsk)
249{
250 WARN_ON(!tsk->exit_state);
251 WARN_ON(atomic_read(&tsk->usage));
252 WARN_ON(tsk == current);
253
254 cgroup_free(tsk);
255 task_numa_free(tsk);
256 security_task_free(tsk);
257 exit_creds(tsk);
258 delayacct_tsk_free(tsk);
259 put_signal_struct(tsk->signal);
260
261 if (!profile_handoff_task(tsk))
262 free_task(tsk);

--- 187 unchanged lines hidden (view full) ---

450 *tmp = *mpnt;
451 INIT_LIST_HEAD(&tmp->anon_vma_chain);
452 retval = vma_dup_policy(mpnt, tmp);
453 if (retval)
454 goto fail_nomem_policy;
455 tmp->vm_mm = mm;
456 if (anon_vma_fork(tmp, mpnt))
457 goto fail_nomem_anon_vma_fork;
254 task_numa_free(tsk);
255 security_task_free(tsk);
256 exit_creds(tsk);
257 delayacct_tsk_free(tsk);
258 put_signal_struct(tsk->signal);
259
260 if (!profile_handoff_task(tsk))
261 free_task(tsk);

--- 187 unchanged lines hidden (view full) ---

449 *tmp = *mpnt;
450 INIT_LIST_HEAD(&tmp->anon_vma_chain);
451 retval = vma_dup_policy(mpnt, tmp);
452 if (retval)
453 goto fail_nomem_policy;
454 tmp->vm_mm = mm;
455 if (anon_vma_fork(tmp, mpnt))
456 goto fail_nomem_anon_vma_fork;
458 tmp->vm_flags &= ~(VM_LOCKED|VM_UFFD_MISSING|VM_UFFD_WP);
457 tmp->vm_flags &=
458 ~(VM_LOCKED|VM_LOCKONFAULT|VM_UFFD_MISSING|VM_UFFD_WP);
459 tmp->vm_next = tmp->vm_prev = NULL;
460 tmp->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
461 file = tmp->vm_file;
462 if (file) {
463 struct inode *inode = file_inode(file);
464 struct address_space *mapping = file->f_mapping;
465
466 get_file(file);

--- 678 unchanged lines hidden (view full) ---

1145 memcpy(sig->rlim, current->signal->rlim, sizeof sig->rlim);
1146 task_unlock(current->group_leader);
1147
1148 posix_cpu_timers_init_group(sig);
1149
1150 tty_audit_fork(sig);
1151 sched_autogroup_fork(sig);
1152
459 tmp->vm_next = tmp->vm_prev = NULL;
460 tmp->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
461 file = tmp->vm_file;
462 if (file) {
463 struct inode *inode = file_inode(file);
464 struct address_space *mapping = file->f_mapping;
465
466 get_file(file);

--- 678 unchanged lines hidden (view full) ---

1145 memcpy(sig->rlim, current->signal->rlim, sizeof sig->rlim);
1146 task_unlock(current->group_leader);
1147
1148 posix_cpu_timers_init_group(sig);
1149
1150 tty_audit_fork(sig);
1151 sched_autogroup_fork(sig);
1152
1153#ifdef CONFIG_CGROUPS
1154 init_rwsem(&sig->group_rwsem);
1155#endif
1156
1153 sig->oom_score_adj = current->signal->oom_score_adj;
1154 sig->oom_score_adj_min = current->signal->oom_score_adj_min;
1155
1156 sig->has_child_subreaper = current->signal->has_child_subreaper ||
1157 current->signal->is_child_subreaper;
1158
1159 mutex_init(&sig->cred_guard_mutex);
1160

--- 956 unchanged lines hidden ---
1157 sig->oom_score_adj = current->signal->oom_score_adj;
1158 sig->oom_score_adj_min = current->signal->oom_score_adj_min;
1159
1160 sig->has_child_subreaper = current->signal->has_child_subreaper ||
1161 current->signal->is_child_subreaper;
1162
1163 mutex_init(&sig->cred_guard_mutex);
1164

--- 956 unchanged lines hidden ---