From aa8a47f7b9da61e689b0c4bb37e7a2a84ece6dac Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 12 Feb 2025 01:54:25 +0100 Subject: vm: Add missing locking --- vm/vm_object.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'vm/vm_object.c') diff --git a/vm/vm_object.c b/vm/vm_object.c index c238cce4..9a46149b 100644 --- a/vm/vm_object.c +++ b/vm/vm_object.c @@ -1066,10 +1066,14 @@ kern_return_t vm_object_copy_slowly( vm_page_t new_page; vm_fault_return_t result; + vm_object_lock(new_object); while ((new_page = vm_page_alloc(new_object, new_offset)) == VM_PAGE_NULL) { + vm_object_unlock(new_object); VM_PAGE_WAIT((void (*)()) 0); + vm_object_lock(new_object); } + vm_object_unlock(new_object); do { vm_prot_t prot = VM_PROT_READ; -- cgit v1.2.3