From c8f780e3d618efb8f42814b3a20e344f4e771371 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 11 May 2014 18:07:07 +0000 Subject: [PATCH] Fix locking. The dst_object must remain locked on the retry of the loop iteration. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 6 days --- sys/vm/vm_fault.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 125a5fc2bdd..ff6bca07717 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1359,6 +1359,7 @@ again: VM_OBJECT_WUNLOCK(dst_object); VM_OBJECT_RUNLOCK(object); VM_WAIT; + VM_OBJECT_WLOCK(dst_object); goto again; } } while (dst_m == NULL);