summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-06-09 07:01:05 +0000
committeralc <alc@FreeBSD.org>2003-06-09 07:01:05 +0000
commitf13256329bb5ec479637104c97e730d204500daa (patch)
tree5faf5ee3e8b4ea2463a59c82c1119151058ce4ea /sys/vm
parentfd950733b75b48d2f33fc6841466cdb0e8cccb76 (diff)
downloadFreeBSD-src-f13256329bb5ec479637104c97e730d204500daa.zip
FreeBSD-src-f13256329bb5ec479637104c97e730d204500daa.tar.gz
Hold the vm object's lock when performing vm_page_lookup().
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_mmap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c
index e414a50..1cb8a30 100644
--- a/sys/vm/vm_mmap.c
+++ b/sys/vm/vm_mmap.c
@@ -897,8 +897,10 @@ RestartScan:
*/
offset = current->offset + (addr - current->start);
pindex = OFF_TO_IDX(offset);
+ VM_OBJECT_LOCK(current->object.vm_object);
m = vm_page_lookup(current->object.vm_object,
pindex);
+ VM_OBJECT_UNLOCK(current->object.vm_object);
vm_page_lock_queues();
/*
* if the page is resident, then gather information about
OpenPOWER on IntegriCloud