projects
/
GitHub
/
LineageOS
/
G12
/
android_kernel_amlogic_linux-4.9.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e5517c2
)
drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error
author
Chris Wilson
<chris@chris-wilson.co.uk>
Mon, 14 Nov 2016 11:29:30 +0000
(11:29 +0000)
committer
Jani Nikula
<jani.nikula@intel.com>
Wed, 30 Nov 2016 10:07:05 +0000
(12:07 +0200)
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.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes:
e227330223a7
("drm/i915: avoid leaking DMA mappings")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Imre Deak <imre.deak@intel.com>
Cc: stable@vger.kernel.org
Link:
http://patchwork.freedesktop.org/patch/msgid/20161114112930.2033-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
(cherry picked from commit
b17993b7b29612369270567643bcff814f4b3d7f
)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_gem.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/gpu/drm/i915/i915_gem.c
b/drivers/gpu/drm/i915/i915_gem.c
index 91ab7e9d6d2ead0827c0b452f119062d8be50a0a..00eb4814b9131655b4ac441d7dbabed02c6ccc8e 100644
(file)
--- a/
drivers/gpu/drm/i915/i915_gem.c
+++ b/
drivers/gpu/drm/i915/i915_gem.c
@@
-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);