Module Name:    src
Committed By:   riastradh
Date:           Tue Jan 21 20:56:11 UTC 2014

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915 [riastradh-drm2]: i915_gem.c

Log Message:
uobj->pgops->pgo_put requires uobj->vmobjlock.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.18 -r1.1.1.1.2.19 \
    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.18 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.19
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.1.1.1.2.18	Tue Jan 21 20:49:01 2014
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c	Tue Jan 21 20:56:11 2014
@@ -1987,10 +1987,12 @@ i915_gem_object_truncate(struct drm_i915
 	{
 		struct uvm_object *const uobj = obj->base.gemo_shm_uao;
 
-		if (uobj != NULL)
+		if (uobj != NULL) {
 			/* XXX Calling pgo_put like this is bogus.  */
+			mutex_enter(uobj->vmobjlock);
 			(*uobj->pgops->pgo_put)(uobj, 0, obj->base.size,
 			    (PGO_ALLPAGES | PGO_FREE));
+		}
 	}
 #else
 	if (obj->base.filp == NULL)

Reply via email to