From ec69a73039701201caef169a81077c5103eade04 Mon Sep 17 00:00:00 2001 From: alc Date: Thu, 19 Jun 2003 17:56:12 +0000 Subject: Lock the vm object when freeing a vm page. --- sys/fs/specfs/spec_vnops.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/fs/specfs') diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index 5f54f5d..9594756 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -765,6 +765,7 @@ spec_getpages(ap) pmap_qremove(kva, pcount); gotreqpage = 0; + VM_OBJECT_LOCK(vp->v_object); vm_page_lock_queues(); for (i = 0, toff = 0; i < pcount; i++, toff = nextoff) { nextoff = toff + PAGE_SIZE; @@ -817,6 +818,7 @@ spec_getpages(ap) } } vm_page_unlock_queues(); + VM_OBJECT_UNLOCK(vp->v_object); if (!gotreqpage) { m = ap->a_m[ap->a_reqpage]; printf( -- cgit v1.1