diff options
-rw-r--r-- | sys/vm/device_pager.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 890d068..e7acedc 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -226,9 +226,10 @@ dev_pager_getpages(object, m, count, reqpage) */ page = dev_pager_getfake(paddr); TAILQ_INSERT_TAIL(&object->un_pager.devp.devp_pglist, page, pageq); - for (i = 0; i < count; i++) { + vm_page_lock_queues(); + for (i = 0; i < count; i++) vm_page_free(m[i]); - } + vm_page_unlock_queues(); vm_page_insert(page, object, offset); return (VM_PAGER_OK); |