cvs commit: src/sys/kern kern_umtx.c src/sys/vm vm_fault.c vm_page.c vm_page.h vm_page2.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Apr 14 13:00:50 PDT 2008
dillon 2008/04/14 13:00:29 PDT
DragonFly src repository
Modified files:
sys/kern kern_umtx.c
sys/vm vm_fault.c vm_page.c vm_page.h vm_page2.h
Log:
Fix a bug in umtx_sleep(). This function sleeps on the mutex's physical
address and will get lost if the physical page underlying the VM address is
copied on write. This case can occur when a threaded program fork()'s.
Introduce a VM page event notification mechanism and use it to wake-up
the umtx_sleep() if the underlying page takes a COW fault.
Reported-by: Jordan Gordeev <jgordeev at dir.bg>,
"Simon 'corecode' Schubert" <corecode at xxxxxxxxxxxx>
Revision Changes Path
1.8 +52 -12 src/sys/kern/kern_umtx.c
1.45 +2 -0 src/sys/vm/vm_fault.c
1.37 +18 -0 src/sys/vm/vm_page.c
1.27 +16 -2 src/sys/vm/vm_page.h
1.3 +42 -0 src/sys/vm/vm_page2.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_umtx.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_fault.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.h.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page2.h.diff?r1=1.2&r2=1.3&f=u
More information about the Commits
mailing list