Date: Tue, 5 Feb 2002 13:23:05 -0800 (PST) From: Alfred Perlstein <alfred@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/vm vm_extern.h vm_glue.c vm_map.c vm_map.h src/sys/kern kern_exit.c Message-ID: <200202052123.g15LN5f05643@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
alfred 2002/02/05 13:23:05 PST Modified files: sys/vm vm_extern.h vm_glue.c vm_map.c vm_map.h sys/kern kern_exit.c Log: 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 Revision Changes Path 1.147 +4 -3 src/sys/kern/kern_exit.c 1.51 +1 -0 src/sys/vm/vm_extern.h 1.123 +1 -1 src/sys/vm/vm_glue.c 1.212 +30 -17 src/sys/vm/vm_map.c 1.69 +2 -0 src/sys/vm/vm_map.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202052123.g15LN5f05643>