COMMAND

    kernel

SYSTEMS AFFECTED

    OpenBSD (NetBSD?)

PROBLEM

    Jason Downs posted following rather simple method of crashing most
    OpenBSD systems  (and, perhaps,  NetBSD or  anything else  running
    4.4BSD vm without this problem fixed).  Most, if not all,  kernels
    have  process  limits  high  enough  for  a normal user to run the
    kernel out  of non-pageable  map entries.   The easiest  way to do
    this is with the enclosed script.

    If the per-user process/descriptor limits are high enough, running
    this script will result in a kernel panic.

    #!/bin/csh
    set path = ( /usr/bin /usr/sbin /bin /sbin )

    unlimit
    cd /tmp
    if ( -e fifo ) then
        rm fifo
    endif
    mkfifo fifo
    while ( 1 )
        cat fifo >& /dev/null &
    end

    On  FreeBSD  2.2.5-RELEASE  with  kernel  options   CHILD_MAX=128,
    OPEN_MAX=128, DFLDSIZ=(16*1024*1024) the execution of that  script
    caused to "too many open files" at the user level and "can't  open
    /usr/lib/libc.so" or some similar library at the system level  (no
    logins, no execs and so on).  Kernel didn't panic and opened files
    still were available, as  open network connections too  (rlogins).
    Failed to stop this process,  even when pressed ^C at  the console
    running that  script.   After Ctrl-Alt-Del  to reboot (filesystems
    were synchronized before reboot) the message:

        `date` newsyslog[$PID]: log file turned over in /var/log/messages

    will appear which is bad condition.

SOLUTION

    Nothing so far.