Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/i915: Don't touch NULL sg on" failed to apply to 4.4-stable tree

PATCH [email protected] 1 participant 1 message Dec 4, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 2420489bcb8910188578acc0c11c75445c2e4b92 Mon Sep 17 00:00:00 2001

From: Chris Wilson <[email protected]>
Date: Mon, 14 Nov 2016 11:29:30 +0000
Subject: [PATCH] drm/i915: Don't touch NULL sg on
i915_gem_object_get_pages_gtt() error

On the DMA mapping error path, sg may be NULL (it has already been marked as the last scatterlist entry), and we should avoid dereferencing it again.

Fixes e227330223a7 ("drm/i915: avoid leaking DMA mappings")
Cc Imre Deak <[email protected]>
(cherry picked from commit b17993b7b29612369270567643bcff814f4b3d7f)
drivers/gpu/drm/i915/i915_gem.c +3 -2
index 91ab7e9d6d2e..00eb4814b913 100644
@@ -2268,7 +2268,7 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
 			page = shmem_read_mapping_page(mapping, i);
 			if (IS_ERR(page)) {
 				ret = PTR_ERR(page);
-				goto err_pages;
+				goto err_sg;
 			}
 		}
 #ifdef CONFIG_SWIOTLB
@@ -2311,8 +2311,9 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
 
 	return 0;
 
-err_pages:
+err_sg:
 	sg_mark_end(sg);
+err_pages:
 	for_each_sgt_page(page, sgt_iter, st)
 		put_page(page);
 	sg_free_table(st);