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)

Reply via email to