The documentation of vm_page_insert says that the object must be locked.
Moreover, the unlock call is here but no call was present.
---
vm/vm_page.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/vm/vm_page.c b/vm/vm_page.c
index 707be4bb..50916b74 100644
--- a/vm/vm_page.c
+++ b/vm/vm_page.c
@@ -1034,6 +1034,7 @@ vm_page_seg_balance_page(struct vm_page_seg *seg,
simple_unlock(&seg->lock);
simple_unlock(&vm_page_queue_free_lock);
+ vm_object_lock(object);
vm_page_insert(dest, object, offset);
vm_object_unlock(object);
--
2.39.1