From c76962451c83054b0ff176b3088dfddf3c94a934 Mon Sep 17 00:00:00 2001 From: jhb Date: Wed, 23 May 2001 22:27:52 +0000 Subject: [PATCH] Assert Giant is held for the device pager alloc and getpages methods since we call the mmap method of the cdevsw of the device we are mmap'ing. --- sys/vm/device_pager.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 86f88a3cdf6..b7c35af6cec 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -106,6 +106,7 @@ dev_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot, vm_ooffset_t fo unsigned int npages; vm_offset_t off; + mtx_assert(&Giant, MA_OWNED); /* * Make sure this device can be mapped. */ @@ -198,10 +199,11 @@ dev_pager_getpages(object, m, count, reqpage) vm_offset_t paddr; vm_page_t page; dev_t dev; - int i, s; + int i; d_mmap_t *mapfunc; int prot; + mtx_assert(&Giant, MA_OWNED); dev = object->handle; offset = m[reqpage]->pindex; prot = PROT_READ; /* XXX should pass in? */ @@ -221,9 +223,7 @@ dev_pager_getpages(object, m, count, reqpage) for (i = 0; i < count; i++) { vm_page_free(m[i]); } - s = splhigh(); vm_page_insert(page, object, offset); - splx(s); return (VM_PAGER_OK); } -- 2.45.2