diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:34 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 23:59:34 -0800 |
| commit | d0415686774477153ca911a612f74c2d2bb11be6 (patch) | |
| tree | e5f35894e9ff6c0da29668e5560204fd49db5eb1 /kernel/fork.c | |
| parent | 25aa595a676f130148eba073cdd5a8d57e9d238f (diff) | |
v2.5.1.3 -> v2.5.1.4
- Jens Axboe: more bio updates, fix some request list bogosity under load
- Al Viro: export seq_xxx functions
- Manfred Spraul: include file cleanups, pc110pad compile fix
- David Woodhouse: fix JFFS2 write error handling
- Dave Jones: start merging up with 2.4.x patches
- Manfred Spraul: coredump fixes, FS event counter cleanups
- me: fix SCSI CD-ROM sectorsize BIO breakage
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 158e7597e72a..4c3114eef4c4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -589,8 +589,10 @@ int do_fork(unsigned long clone_flags, unsigned long stack_start, *p = *current; retval = -EAGAIN; - if (atomic_read(&p->user->processes) >= p->rlim[RLIMIT_NPROC].rlim_cur) - goto bad_fork_free; + if (atomic_read(&p->user->processes) >= p->rlim[RLIMIT_NPROC].rlim_cur) { + if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE)) + goto bad_fork_free; + } atomic_inc(&p->user->__count); atomic_inc(&p->user->processes); |
