1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
freebsd/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
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
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
miscfs
modules
msdosfs
net
netinet Back out my stupid braino; I was thinking strlen and not sizeof. 1996-05-02 05:54:14 +00:00
netipx
netns
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
pccard
pci
powerpc/include
rpc
scsi
sys Made this self-sufficent (except for <sys/types.h>) when compiled in 1996-05-01 04:18:20 +00:00
tools
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