freebsd-skq/sys/kern
Matthew Dillon 1f6889a1eb Fix null-pointer dereference crash when the system is intentionally
run out of KVM through a mmap()/fork() bomb that allocates hundreds
    of thousands of vm_map_entry structures.

    Add panic to make null-pointer dereference crash a little more verbose.

    Add a new sysctl, vm.max_proc_mmap, which specifies the maximum number
    of mmap()'d spaces (discrete vm_map_entry's in the process).  The value
    defaults to around 9000 for a 128MB machine.  The test is scaled for the
    number of processes sharing a vmspace (aka linux threads).  Setting
    the value to 0 disables the feature.

PR: kern/16573
Approved by: jkh
2000-02-16 21:11:33 +00:00
..
bus_if.m * Add struct resource_list* argument to resource_list_alloc and 1999-10-12 21:35:51 +00:00
device_if.m $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
imgact_aout.c s/p_cred->pc_ucred/p_ucred/g 1999-11-21 12:38:21 +00:00
imgact_elf.c Changed the type used to represent the user stack pointer from `long *' 1999-12-27 10:42:55 +00:00
imgact_gzip.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
imgact_shell.c Allow comments in interpreter specification lines as in 2000-02-15 08:49:57 +00:00
inflate.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
init_main.c If we fail to find init, print out the search path used. This helps 1999-12-20 02:50:49 +00:00
init_sysent.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
kern_acct.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
kern_clock.c Fix sign reversal in adjtime(2). 2000-02-13 10:56:32 +00:00
kern_conf.c Backout previous commit. It was a mistake. 2000-01-23 15:47:46 +00:00
kern_descrip.c Fix the style bugs in the style bugs fix. The style bug fix made the 2000-01-21 06:57:52 +00:00
kern_environment.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
kern_exec.c When we are execing a setugid program, and we have a procfs filesystem 2000-01-20 07:12:52 +00:00
kern_exit.c Handle the case where we truss an SUGID program -- in particular, we need 2000-01-10 04:09:05 +00:00
kern_fork.c Put on my asbestos underwear and commit the patch that I posted to -arch 1999-12-06 11:13:50 +00:00
kern_intr.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_jail.c Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
kern_kthread.c Panic if proc0 hasn't been created and we try to call kthread_create. 2000-01-10 08:00:58 +00:00
kern_ktrace.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_linker.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_lock.c Lock reporting and assertion changes. 1999-12-11 16:13:02 +00:00
kern_lockf.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
kern_malloc.c Fix null-pointer dereference crash when the system is intentionally 2000-02-16 21:11:33 +00:00
kern_mib.c Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
kern_module.c A hack basically.. We have a bunch of code that used to call 1999-11-08 06:53:30 +00:00
kern_ntptime.c Add a couple of strategic sysctls for monitoring. 2000-01-23 14:52:37 +00:00
kern_physio.c Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the 1999-10-30 06:32:05 +00:00
kern_proc.c Also allow non-rot processes to setproctitle() 2000-02-08 19:54:15 +00:00
kern_prot.c Implement setres[ug]id() and getres[ug]id(). This has been sitting in 2000-01-16 16:34:26 +00:00
kern_random.c Trim some unused #includes 1999-10-11 15:00:09 +00:00
kern_resource.c Don't try to account for the partial quantum unless the process is 2000-02-15 09:02:07 +00:00
kern_shutdown.c Seconds to ticks conversion was done at the wrong place. 2000-01-12 17:26:42 +00:00
kern_sig.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_subr.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
kern_switch.c Fix a typo and a bug. 1999-08-19 16:06:08 +00:00
kern_synch.c Don't make the ktrace hook in tsleep() deref a null curproc after a panic. 1999-11-30 09:01:46 +00:00
kern_syscalls.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_sysctl.c Separate some common sysctl code into sysctl_find_oid() and calling 1999-12-01 02:25:19 +00:00
kern_tc.c Fix sign reversal in adjtime(2). 2000-02-13 10:56:32 +00:00
kern_threads.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
kern_time.c Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the 1999-10-30 06:32:05 +00:00
kern_timeout.c Restructure TCP timeout handling: 1999-08-30 21:17:07 +00:00
kern_xxx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ksched.c Fixed some type mismatches. p_retval[0] in struct proc has type 1999-12-27 10:22:09 +00:00
link_aout.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf_obj.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
Make.tags.inc Add soft updates to the set of things being tagged. Syntax cleanup. 2000-01-27 01:22:06 +00:00
makedevops.pl Fix some bugs in user-end output and add a reference to the original 1999-11-22 14:40:04 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00
makesyscalls.sh Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00
md5c.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
p1003_1b.c Well folks, this is it - The second stage of the removal for build support 1999-04-17 08:36:07 +00:00
posix4_mib.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
subr_acl_posix1e.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
subr_autoconf.c Removal of sys/device.h 1999-10-05 21:19:41 +00:00
subr_blist.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
subr_bus.c Hide the boring `not probed (disabled)'' messages behind bootverbose'. 2000-02-15 19:23:34 +00:00
subr_clist.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_devstat.c This is a partial commit of the patch from PR 14914: 1999-11-16 10:56:05 +00:00
subr_disk.c rename disk_delete() to disk_destroy(). 2000-01-28 20:49:43 +00:00
subr_disklabel.c Removed diskerr()'s unused d_name arg and updated callers. This fixes 1999-09-13 12:59:41 +00:00
subr_diskmbr.c Don't permit generation of non-physical disk addresses. 2000-01-28 10:22:07 +00:00
subr_diskslice.c Fixed a memory leak for slices with an (unsupported) bad sector table. 2000-01-28 11:51:08 +00:00
subr_eventhandler.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_log.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
subr_module.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
subr_param.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
subr_prf.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_prof.c Unremove used includes. 1999-10-12 02:54:23 +00:00
subr_rman.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_scanf.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
subr_smp.c Allow SMP systems with an MCA bus to work properly. 2000-01-13 09:09:02 +00:00
subr_trap.c Add a new mechanism, cndbctl(), to tell the console driver that 2000-01-11 14:54:01 +00:00
subr_xxx.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
sys_generic.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
sys_pipe.c Use vfs_timestamp() instead of getnanotime() to set timestamps. This 1999-12-26 13:04:52 +00:00
sys_process.c Introduce the new function 1999-11-21 19:03:20 +00:00
sys_socket.c Update socket file type for fo_stat(). soo_stat() becomes a fileops 1999-11-08 03:31:01 +00:00
syscalls.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
syscalls.master Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:01:07 +00:00
sysv_ipc.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_msg.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_sem.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_shm.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
tty_compat.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_conf.c Don't refer to TABLDISC in the comments here. 2000-01-30 10:14:13 +00:00
tty_cons.c Don't follow null pointers if we somehow have a null devswitch entry 2000-01-25 09:20:08 +00:00
tty_pty.c Correct an oversight in jail() that allowed processes in jail to access 2000-02-09 03:32:11 +00:00
tty_snoop.c Remove cdevsw_add() - the make_dev() calls are already there. 1999-11-18 06:39:47 +00:00
tty_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_tty.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
tty.c Back out previous commit; it was premature. 2000-01-28 17:11:07 +00:00
uipc_domain.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
uipc_mbuf.c Actively limit the allocation of mbufs to NMBUFS/nmbufs and mbuf clusters 1999-12-28 06:35:57 +00:00
uipc_proto.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
uipc_sockbuf.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_socket2.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_socket.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_syscalls.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
uipc_usrreq.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
vfs_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
vfs_aio.c Back out the previous spl change, since it opens a race window. 2000-01-20 08:15:13 +00:00
vfs_bio.c Need to reset the buffer pointer to avoid reconsidering the same buffer 2000-01-18 02:13:26 +00:00
vfs_cache.c Avoid a panic in __getcwd(2) when combined with umount -f. 2000-02-14 06:09:01 +00:00
vfs_cluster.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
vfs_conf.c Put on asbestos suit and put a splcam() around the 'Mounting root from..' 1999-12-12 16:34:43 +00:00
vfs_default.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
vfs_export.c Do refcounting of open devices (more) correctly. 2000-02-07 23:05:40 +00:00
vfs_extattr.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_init.c The sysctl mod_xx hack is no longer required now that we have totally 1999-12-12 16:30:34 +00:00
vfs_lookup.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
vfs_mount.c Put on asbestos suit and put a splcam() around the 'Mounting root from..' 1999-12-12 16:34:43 +00:00
vfs_subr.c Do refcounting of open devices (more) correctly. 2000-02-07 23:05:40 +00:00
vfs_syscalls.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_vnops.c Give vn_isdisk() a second argument where it can return a suitable errno. 2000-01-10 12:04:27 +00:00
vnode_if.pl Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
vnode_if.src Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00