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