Module Name: src
Committed By: riastradh
Date: Thu Mar 6 00:32:39 UTC 2014
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915 [riastradh-drm2]: i915_gem.c
Log Message:
Take the vmobjlock in i915_gem_release_mmap around pmap_page_protect.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.21 -r1.1.1.1.2.22 \
src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.21 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.22
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.21 Wed Mar 5 22:18:10 2014
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Thu Mar 6 00:32:39 2014
@@ -1774,10 +1774,12 @@ i915_gem_release_mmap(struct drm_i915_ge
{
struct vm_page *page;
+ mutex_enter(obj->base.gemo_shm_uao->vmobjlock);
KASSERT(obj->pages != NULL);
/* Force a fresh fault for each page. */
TAILQ_FOREACH(page, &obj->igo_pageq, pageq.queue)
pmap_page_protect(page, VM_PROT_NONE);
+ mutex_exit(obj->base.gemo_shm_uao->vmobjlock);
}
#else
if (obj->base.dev->dev_mapping)