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 --- |