git: kernel - Fix shared/excl livelock with vm.shared_fault
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Feb 25 19:35:52 PST 2013
commit 34a048ab5deacc3a1f37451bad89666fe37cd70d
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Feb 25 19:27:05 2013 -0800
kernel - Fix shared/excl livelock with vm.shared_fault
* The vop_helper_read_shortcut() code was holding a shared token on
a VM object through a uiomove(). If the uiomove() generated a VM
fault requiring a shadow copy, the shadow copy would try to get
an exclusive token on potentially the same object and livelock.
* Fix by unlocking/relocking across the uiomove().
Summary of changes:
sys/kern/vfs_helper.c | 9 +++++++++
1 file changed, 9 insertions(+)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/34a048ab5deacc3a1f37451bad89666fe37cd70d
--
DragonFly BSD source repository
More information about the Commits
mailing list