fork.c (27eb2c4b3d3e13f376a359e293c212a2e9407af5) | fork.c (b57922b6c76c3ee401bb32fd3f298409dd6e6a53) |
---|---|
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 --- 1185 unchanged lines hidden (view full) --- 1194 1195#ifdef CONFIG_PROVE_LOCKING 1196 DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); 1197 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); 1198#endif 1199 retval = -EAGAIN; 1200 if (atomic_read(&p->real_cred->user->processes) >= 1201 task_rlimit(p, RLIMIT_NPROC)) { | 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 --- 1185 unchanged lines hidden (view full) --- 1194 1195#ifdef CONFIG_PROVE_LOCKING 1196 DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); 1197 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); 1198#endif 1199 retval = -EAGAIN; 1200 if (atomic_read(&p->real_cred->user->processes) >= 1201 task_rlimit(p, RLIMIT_NPROC)) { |
1202 if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && 1203 p->real_cred->user != INIT_USER) | 1202 if (p->real_cred->user != INIT_USER && 1203 !capable(CAP_SYS_RESOURCE) && !capable(CAP_SYS_ADMIN)) |
1204 goto bad_fork_free; 1205 } 1206 current->flags &= ~PF_NPROC_EXCEEDED; 1207 1208 retval = copy_creds(p, clone_flags); 1209 if (retval < 0) 1210 goto bad_fork_free; 1211 --- 726 unchanged lines hidden --- | 1204 goto bad_fork_free; 1205 } 1206 current->flags &= ~PF_NPROC_EXCEEDED; 1207 1208 retval = copy_creds(p, clone_flags); 1209 if (retval < 0) 1210 goto bad_fork_free; 1211 --- 726 unchanged lines hidden --- |