freebsd-dev/sys
Peter Wemm 88d1b64235 Fix a nasty bug that causes random crashes and lockups particularly on
very busy servers (eg: news, web).  This is an interaction between
embryonic processes that have not yet finished forking, and happen to
cause the kernel VM space to grow, hitting the uninitialised variable.

It was possible for this to strike at any time, depending on the size of
your kernel and load patterns.  One machine had paniced occasionally
when cron launches a job since before the 2.1 release.

If you had "options DIAGNOSTIC", you may have seen references to bogus
addresses like 0xdeadc142 and the like.

This is a minimal change to fix the problem, it will probably be done
better by reordering p_vmspace to be in the startzero section, but it
becomes harder to validate then.

It's been vulnerable since pmap.c rev 1.40 (Jan 9, 1995), so it's been a
cause of problems since well before 2.0.5.  This was when the merged
VM/buffer cache and the dynamic growing kernel VM space were first
committed.  This probably fixes a few of PR's.
1996-05-02 11:38:05 +00:00
..
alpha Include <sys/buf.h> so that this does't blow up with B_WRITE undefined. 1996-05-01 06:31:18 +00:00
amd64 First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
compat/linux First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
compile
conf First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
ddb For Lite2: proc LIST changes. 1996-03-11 05:55:56 +00:00
dev KGDB is dead. It may come back one day if somebody does it. 1996-05-02 09:34:51 +00:00
fs First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
geom Add missing "int" to static var. 1996-04-24 09:42:22 +00:00
gnu Removed bogus _BEGIN_DECLS/_END_DECLS. 1996-05-01 02:16:17 +00:00
i386 First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
isa KGDB is dead. It may come back one day if somebody does it. 1996-05-02 09:34:51 +00:00
isofs/cd9660 First pass at cleaning up macros relating to pages, clusters and all that. 1996-05-02 10:43:17 +00:00
kern Fix a nasty bug that causes random crashes and lockups particularly on 1996-05-02 11:38:05 +00:00
libkern Don't include <sys/types.h> when it isn't used. 1996-04-19 18:40:25 +00:00
miscfs Fix the reproto.sh script that was broken after my KNFification. 1996-04-07 01:15:03 +00:00
modules Add in qcam module (forgot) 1996-03-24 00:30:38 +00:00
msdosfs Fix adjkerntz expression priority. 1996-04-05 18:59:06 +00:00
net Regardless of whether or not the check for IPv4 is useful, we certainly 1996-04-25 02:34:37 +00:00
netinet Back out my stupid braino; I was thinking strlen and not sizeof. 1996-05-02 05:54:14 +00:00
netipx Don't use a newfangled auto initializer. Initialize everything by 1996-04-13 14:37:22 +00:00
netns finish killing off netns. (For some reason, CVS `undeleted' these 1996-02-13 18:19:17 +00:00
nfs #include <sys/filedesc.h> explicitly instead of depending on it being 1996-04-30 23:26:52 +00:00
nfsclient #include <sys/filedesc.h> explicitly instead of depending on it being 1996-04-30 23:26:52 +00:00
nfsserver #include <sys/filedesc.h> explicitly instead of depending on it being 1996-04-30 23:26:52 +00:00
pc98/pc98 Eliminated sloppy common-style declarations. Now there are no duplicated 1996-04-13 12:45:57 +00:00
pccard Adds the APM hooks into the generic pccard kernel files. With this code 1996-04-23 16:03:08 +00:00
pci Fix logic bug in pci bridge code. For a PCI-PCI bridge, secondary 1996-04-25 06:04:27 +00:00
powerpc/include Add commands for ptrace get/set registers.. (Same numbers as NetBSD) 1996-01-24 18:51:48 +00:00
rpc Fix a bunch of spelling errors in the comment fields 1996-01-30 23:33:04 +00:00
scsi Don't depend on <sys/types.h> including <sys/cdefs.h>. 1996-04-19 17:39:57 +00:00
sys Made this self-sufficent (except for <sys/types.h>) when compiled in 1996-05-01 04:18:20 +00:00
tools Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
ufs Removed bogus _BEGIN_DECLS/_END_DECLS. 1996-05-01 02:16:17 +00:00
vm KGDB is dead. It may come back one day if somebody does it. 1996-05-02 09:34:51 +00:00
Makefile Removed almost all traces of libkern.a. The objects that were in 1995-12-26 13:58:31 +00:00