freebsd-dev/sys
Alfred Perlstein 582ec34cd8 Fix a race with free'ing vmspaces at process exit when vmspaces are
shared.

Also introduce vm_endcopy instead of using pointer tricks when
initializing new vmspaces.

The race occured because of how the reference was utilized:
  test vmspace reference,
  possibly block,
  decrement reference

When sharing a vmspace between multiple processes it was possible
for two processes exiting at the same time to test the reference
count, possibly block and neither one free because they wouldn't
see the other's update.

Submitted by: green
2002-02-05 21:23:05 +00:00
..
alpha Improve the change in the previous commit: use a stub for osigreturn() 2002-02-03 04:09:02 +00:00
amd64 Make the style a little bit more consistant by removing parameter 2002-02-03 11:21:22 +00:00
arm We need machine/{signal,ucontext}.h to build a cross GCC compiler. 2001-12-09 19:39:49 +00:00
boot Expand COMBRD(x) macro. 2002-02-01 14:48:44 +00:00
cam Add support of PhotoClip USB Camera (http://www.myphotoclip.com): 2002-01-31 11:39:17 +00:00
coda Staticise the coda vfsop pointer. 2002-01-08 19:33:51 +00:00
compat include sys/lock.h and sys/mutex.h to make compile. 2002-01-30 23:28:25 +00:00
conf Removed the one use of the mandatory keyword (for npx). 2002-01-30 14:35:58 +00:00
contrib Backout inclusion of queue.h since rev 1.38 sys/file.h now has it 2002-01-14 09:07:15 +00:00
crypto fixed the cast128 calculation with a short cipher key length. 2001-11-27 14:11:47 +00:00
ddb pid is 'long' on alpha. 2002-01-17 02:14:44 +00:00
dev Add support for the Aztech 2320 chip. 2002-02-05 12:09:23 +00:00
fs Change EPERM to EOPNOTSUPP when failing pseudofs_setattr() arbitrarily. 2002-02-04 18:21:59 +00:00
geom Reduce kernel stack usage of ccdinit() by MAXPATHLEN by using MALLOC(9). 2001-12-30 17:34:19 +00:00
gnu Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
i4b Make call_desc[] extern since it's also defined in layer4/i4b_l4mgmt.c 2002-01-13 19:16:52 +00:00
i386 Make the style a little bit more consistant by removing parameter 2002-02-03 11:21:22 +00:00
ia64 Compile osigreturn() unconditionally since it will always be needed on 2002-02-01 15:44:03 +00:00
isa - Do not hang if the resource allocation fails. 2002-02-05 06:52:56 +00:00
isofs/cd9660 Fix mounting root from a ISO9660 filesystem on a SCSI CDROM. 2001-11-27 03:55:43 +00:00
kern Fix a race with free'ing vmspaces at process exit when vmspaces are 2002-02-05 21:23:05 +00:00
libkern * Remove __P and convert to ANSI prototypes. 2002-02-01 01:32:19 +00:00
modules Move the pseudofs, procfs and linprocfs modules out from the fs directory. 2002-02-04 20:16:50 +00:00
net Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
netatalk Make `options NETATALK' compile after the -fno-common changes. 2002-01-16 11:26:50 +00:00
netatm Allow this to compile again 2002-01-30 23:38:31 +00:00
netgraph The hardware checksum code makes the assumption that a packet routed out 2002-02-05 18:27:30 +00:00
netinet In tcp_respond(), correctly reset returned IPv6 header. This is essential 2002-02-04 17:37:06 +00:00
netinet6 Corrected an argument to in6_pcbnotify(). 2002-02-04 17:40:36 +00:00
netipx Initialise the intrq_present fields at runtime, not link time. This allows 2002-01-08 10:34:03 +00:00
netkey Newer SA is prefered for a out-bound packet than old one 2001-12-05 05:40:49 +00:00
netnatm Initialise the intrq_present fields at runtime, not link time. This allows 2002-01-08 10:34:03 +00:00
netncp Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
netns Initialise the intrq_present fields at runtime, not link time. This allows 2002-01-08 10:34:03 +00:00
netsmb SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
nfs When the old nfsm_adv() macro was moved to nfsm_adv_xx(), a '>=' 2001-12-31 06:56:31 +00:00
nfsclient Revise the nfsiod auto tuning code. Now both the upper and lower limits 2002-01-15 20:57:21 +00:00
nfsserver The vnode was not being vput()'d in the EEXIST mknod case on the nfs 2002-01-14 19:14:08 +00:00
pc98 Use osigreturn(2) instead of sigreturn(2) plus broken magic for returning 2002-02-03 09:13:58 +00:00
pccard The datasheet for the 6710/6722 says that you must use one method to 2002-01-14 14:10:13 +00:00
pci Merged cy_pcireg.h into the one file that uses it (cy_pci.c). 2002-02-02 02:22:51 +00:00
posix4 KSE Milestone 2 2001-09-12 08:38:13 +00:00
powerpc Compile osigreturn() unconditionally since it will always be needed on 2002-02-01 15:44:03 +00:00
rpc
security/lomac s/sonewconn3/sonewconn/ forgotten by the modifier. 2001-12-26 18:31:22 +00:00
sparc64 Compile osigreturn() unconditionally since it will always be needed on 2002-02-01 15:44:03 +00:00
svr4
sys Let the number of timecounters follow hz, otherwise people with 2002-02-05 20:44:56 +00:00
tools Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
ufs When taking a snapshot, we must check for active files that have 2002-02-02 01:42:44 +00:00
vm Fix a race with free'ing vmspaces at process exit when vmspaces are 2002-02-05 21:23:05 +00:00
Makefile