diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-06 22:01:47 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-06 22:01:47 -0400 |
| commit | 053f78d359953be40043972c98e16b3f1cd9fc27 (patch) | |
| tree | 80185e1554da6362dd3ca411a3e724864c59dc05 /drivers/gpu | |
| parent | 1bb025f6db789ea0bb674eaed15ee843ef0b2e88 (diff) | |
| parent | 3d085c7413d32bb6895e5b9b5ee6a7d2180159c5 (diff) | |
Merge tag 'lkdtm-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into char-misc-linus
Kees briefly writes:
fixes some possible memory allocation leaks on error paths
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/armada/armada_gem.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_gem.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem_userptr.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/ttm/ttm_tt.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/via/via_dmablit.c | 2 |
9 files changed, 15 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index f1a55d1888cb..6f3369de232f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
| @@ -622,7 +622,7 @@ static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm) | |||
| 622 | set_page_dirty(page); | 622 | set_page_dirty(page); |
| 623 | 623 | ||
| 624 | mark_page_accessed(page); | 624 | mark_page_accessed(page); |
| 625 | page_cache_release(page); | 625 | put_page(page); |
| 626 | } | 626 | } |
| 627 | 627 | ||
| 628 | sg_free_table(ttm->sg); | 628 | sg_free_table(ttm->sg); |
diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c index 6e731db31aa4..aca7f9cc6109 100644 --- a/drivers/gpu/drm/armada/armada_gem.c +++ b/drivers/gpu/drm/armada/armada_gem.c | |||
| @@ -481,7 +481,7 @@ armada_gem_prime_map_dma_buf(struct dma_buf_attachment *attach, | |||
| 481 | 481 | ||
| 482 | release: | 482 | release: |
| 483 | for_each_sg(sgt->sgl, sg, num, i) | 483 | for_each_sg(sgt->sgl, sg, num, i) |
| 484 | page_cache_release(sg_page(sg)); | 484 | put_page(sg_page(sg)); |
| 485 | free_table: | 485 | free_table: |
| 486 | sg_free_table(sgt); | 486 | sg_free_table(sgt); |
| 487 | free_sgt: | 487 | free_sgt: |
| @@ -502,7 +502,7 @@ static void armada_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, | |||
| 502 | if (dobj->obj.filp) { | 502 | if (dobj->obj.filp) { |
| 503 | struct scatterlist *sg; | 503 | struct scatterlist *sg; |
| 504 | for_each_sg(sgt->sgl, sg, sgt->nents, i) | 504 | for_each_sg(sgt->sgl, sg, sgt->nents, i) |
| 505 | page_cache_release(sg_page(sg)); | 505 | put_page(sg_page(sg)); |
| 506 | } | 506 | } |
| 507 | 507 | ||
| 508 | sg_free_table(sgt); | 508 | sg_free_table(sgt); |
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 2e8c77e71e1f..da0c5320789f 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c | |||
| @@ -534,7 +534,7 @@ struct page **drm_gem_get_pages(struct drm_gem_object *obj) | |||
| 534 | 534 | ||
| 535 | fail: | 535 | fail: |
| 536 | while (i--) | 536 | while (i--) |
| 537 | page_cache_release(pages[i]); | 537 | put_page(pages[i]); |
| 538 | 538 | ||
| 539 | drm_free_large(pages); | 539 | drm_free_large(pages); |
| 540 | return ERR_CAST(p); | 540 | return ERR_CAST(p); |
| @@ -569,7 +569,7 @@ void drm_gem_put_pages(struct drm_gem_object *obj, struct page **pages, | |||
| 569 | mark_page_accessed(pages[i]); | 569 | mark_page_accessed(pages[i]); |
| 570 | 570 | ||
| 571 | /* Undo the reference we took when populating the table */ | 571 | /* Undo the reference we took when populating the table */ |
| 572 | page_cache_release(pages[i]); | 572 | put_page(pages[i]); |
| 573 | } | 573 | } |
| 574 | 574 | ||
| 575 | drm_free_large(pages); | 575 | drm_free_large(pages); |
diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c index 7bb1f1aff932..c52f9adf5e04 100644 --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c | |||
| @@ -220,7 +220,7 @@ i2c_dp_aux_prepare_bus(struct i2c_adapter *adapter) | |||
| 220 | * FIXME: This is the old dp aux helper, gma500 is the last driver that needs to | 220 | * FIXME: This is the old dp aux helper, gma500 is the last driver that needs to |
| 221 | * be ported over to the new helper code in drm_dp_helper.c like i915 or radeon. | 221 | * be ported over to the new helper code in drm_dp_helper.c like i915 or radeon. |
| 222 | */ | 222 | */ |
| 223 | static int __deprecated | 223 | static int |
| 224 | i2c_dp_aux_add_bus(struct i2c_adapter *adapter) | 224 | i2c_dp_aux_add_bus(struct i2c_adapter *adapter) |
| 225 | { | 225 | { |
| 226 | int error; | 226 | int error; |
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 3d31d3ac589e..dabc08987b5e 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -177,7 +177,7 @@ i915_gem_object_get_pages_phys(struct drm_i915_gem_object *obj) | |||
| 177 | drm_clflush_virt_range(vaddr, PAGE_SIZE); | 177 | drm_clflush_virt_range(vaddr, PAGE_SIZE); |
| 178 | kunmap_atomic(src); | 178 | kunmap_atomic(src); |
| 179 | 179 | ||
| 180 | page_cache_release(page); | 180 | put_page(page); |
| 181 | vaddr += PAGE_SIZE; | 181 | vaddr += PAGE_SIZE; |
| 182 | } | 182 | } |
| 183 | 183 | ||
| @@ -243,7 +243,7 @@ i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj) | |||
| 243 | set_page_dirty(page); | 243 | set_page_dirty(page); |
| 244 | if (obj->madv == I915_MADV_WILLNEED) | 244 | if (obj->madv == I915_MADV_WILLNEED) |
| 245 | mark_page_accessed(page); | 245 | mark_page_accessed(page); |
| 246 | page_cache_release(page); | 246 | put_page(page); |
| 247 | vaddr += PAGE_SIZE; | 247 | vaddr += PAGE_SIZE; |
| 248 | } | 248 | } |
| 249 | obj->dirty = 0; | 249 | obj->dirty = 0; |
| @@ -2206,7 +2206,7 @@ i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj) | |||
| 2206 | if (obj->madv == I915_MADV_WILLNEED) | 2206 | if (obj->madv == I915_MADV_WILLNEED) |
| 2207 | mark_page_accessed(page); | 2207 | mark_page_accessed(page); |
| 2208 | 2208 | ||
| 2209 | page_cache_release(page); | 2209 | put_page(page); |
| 2210 | } | 2210 | } |
| 2211 | obj->dirty = 0; | 2211 | obj->dirty = 0; |
| 2212 | 2212 | ||
| @@ -2346,7 +2346,7 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj) | |||
| 2346 | err_pages: | 2346 | err_pages: |
| 2347 | sg_mark_end(sg); | 2347 | sg_mark_end(sg); |
| 2348 | for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) | 2348 | for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) |
| 2349 | page_cache_release(sg_page_iter_page(&sg_iter)); | 2349 | put_page(sg_page_iter_page(&sg_iter)); |
| 2350 | sg_free_table(st); | 2350 | sg_free_table(st); |
| 2351 | kfree(st); | 2351 | kfree(st); |
| 2352 | 2352 | ||
diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c index 6be40f3ba2c7..18ba8139e922 100644 --- a/drivers/gpu/drm/i915/i915_gem_userptr.c +++ b/drivers/gpu/drm/i915/i915_gem_userptr.c | |||
| @@ -683,7 +683,7 @@ i915_gem_userptr_put_pages(struct drm_i915_gem_object *obj) | |||
| 683 | set_page_dirty(page); | 683 | set_page_dirty(page); |
| 684 | 684 | ||
| 685 | mark_page_accessed(page); | 685 | mark_page_accessed(page); |
| 686 | page_cache_release(page); | 686 | put_page(page); |
| 687 | } | 687 | } |
| 688 | obj->dirty = 0; | 688 | obj->dirty = 0; |
| 689 | 689 | ||
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index c008312e1bcd..7dddfdce85e6 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c | |||
| @@ -615,7 +615,7 @@ static void radeon_ttm_tt_unpin_userptr(struct ttm_tt *ttm) | |||
| 615 | set_page_dirty(page); | 615 | set_page_dirty(page); |
| 616 | 616 | ||
| 617 | mark_page_accessed(page); | 617 | mark_page_accessed(page); |
| 618 | page_cache_release(page); | 618 | put_page(page); |
| 619 | } | 619 | } |
| 620 | 620 | ||
| 621 | sg_free_table(ttm->sg); | 621 | sg_free_table(ttm->sg); |
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c index 4e19d0f9cc30..077ae9b2865d 100644 --- a/drivers/gpu/drm/ttm/ttm_tt.c +++ b/drivers/gpu/drm/ttm/ttm_tt.c | |||
| @@ -311,7 +311,7 @@ int ttm_tt_swapin(struct ttm_tt *ttm) | |||
| 311 | goto out_err; | 311 | goto out_err; |
| 312 | 312 | ||
| 313 | copy_highpage(to_page, from_page); | 313 | copy_highpage(to_page, from_page); |
| 314 | page_cache_release(from_page); | 314 | put_page(from_page); |
| 315 | } | 315 | } |
| 316 | 316 | ||
| 317 | if (!(ttm->page_flags & TTM_PAGE_FLAG_PERSISTENT_SWAP)) | 317 | if (!(ttm->page_flags & TTM_PAGE_FLAG_PERSISTENT_SWAP)) |
| @@ -361,7 +361,7 @@ int ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistent_swap_storage) | |||
| 361 | copy_highpage(to_page, from_page); | 361 | copy_highpage(to_page, from_page); |
| 362 | set_page_dirty(to_page); | 362 | set_page_dirty(to_page); |
| 363 | mark_page_accessed(to_page); | 363 | mark_page_accessed(to_page); |
| 364 | page_cache_release(to_page); | 364 | put_page(to_page); |
| 365 | } | 365 | } |
| 366 | 366 | ||
| 367 | ttm_tt_unpopulate(ttm); | 367 | ttm_tt_unpopulate(ttm); |
diff --git a/drivers/gpu/drm/via/via_dmablit.c b/drivers/gpu/drm/via/via_dmablit.c index e797dfc07ae3..7e2a12c4fed2 100644 --- a/drivers/gpu/drm/via/via_dmablit.c +++ b/drivers/gpu/drm/via/via_dmablit.c | |||
| @@ -188,7 +188,7 @@ via_free_sg_info(struct pci_dev *pdev, drm_via_sg_info_t *vsg) | |||
| 188 | if (NULL != (page = vsg->pages[i])) { | 188 | if (NULL != (page = vsg->pages[i])) { |
| 189 | if (!PageReserved(page) && (DMA_FROM_DEVICE == vsg->direction)) | 189 | if (!PageReserved(page) && (DMA_FROM_DEVICE == vsg->direction)) |
| 190 | SetPageDirty(page); | 190 | SetPageDirty(page); |
| 191 | page_cache_release(page); | 191 | put_page(page); |
| 192 | } | 192 | } |
| 193 | } | 193 | } |
| 194 | case dr_via_pages_alloc: | 194 | case dr_via_pages_alloc: |
