diff options
author | alfred <alfred@FreeBSD.org> | 2002-02-05 21:23:05 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-02-05 21:23:05 +0000 |
commit | c6a128a4b907ab2e60ff122305aee878371b5e92 (patch) | |
tree | 26c78c7d9d9ce9844263c5da070f87c4f6627da9 /lib/libfetch/fetch.c | |
parent | 31898ce15f5d4ffc3a4deae6238e274e853a26c8 (diff) | |
download | FreeBSD-src-c6a128a4b907ab2e60ff122305aee878371b5e92.zip FreeBSD-src-c6a128a4b907ab2e60ff122305aee878371b5e92.tar.gz |
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
Diffstat (limited to 'lib/libfetch/fetch.c')
0 files changed, 0 insertions, 0 deletions