Re: forkbombing Linux distributions

From: Natanael Copa
Date: Wed Mar 23 2005 - 15:23:12 EST


On Thu, 2005-03-24 at 03:44 +0900, aq wrote:
> On Wed, 23 Mar 2005 10:05:43 -0800, Paul Jackson <pj@xxxxxxxxxxxx> wrote:
> > > int main() { while(1) { fork(); fork(); exit(); } }
> > > ...
> > > the above forkbomb will stop quickly
> >
> > Yep.
> >
> > Try this forkbomb:
> >
> > int main() { while(1) { if (!fork()) continue; if (!fork()) continue; exit(); } }
> >
>
> yep, that is better. but system can still be recovered by killall.
>
> a little "sleep" will render the system completely useless, like this:
>
> int main() { while(1) { if (!fork()) continue; if (!fork()) continue;
> sleep(5); exit(0); } }

Interesting.

With the patch I suggested earlier, reducing default max_threads to the
half in kernel/fork.c, my system survived. (without
touching /etc/security/limits.conf) Mail notification died because it
couldn't start any new threads but that was the only thing that
happened.

--
Natanael Copa


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/