Message ID | 20220119174734.213552-1-thomas.hellstrom@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Fix vma resource freeing | expand |
On Thu, 2022-01-20 at 01:43 +0000, Patchwork wrote: > Patch Details > Series:drm/i915: Fix vma resource freeing > (rev2)URL:https://patchwork.freedesktop.org/series/99055/State:failur > e > Details:https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22029/index.html > CI Bug Log - changes from CI_DRM_11110_full -> Patchwork_22029_fullSummaryFAILURE > Serious unknown changes coming with Patchwork_22029_full absolutely > need to be > verified manually. > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_22029_full, please notify your bug team to > allow them > to document this new failure mode, which will reduce false positives > in CI. > Participating hosts (10 -> 10)No changes in participating hosts > Possible new issuesHere are the unknown changes that may have been introduced in > Patchwork_22029_full: > IGT changesPossible regressions * igt@gem_ctx_isolation@preservation-s3@vecs0:shard-skl: PASS -> > INCOMPLETE > Known issues Unrelated failure. /Thomas
On 19/01/2022 17:47, Thomas Hellström wrote: > In some cases we use leftover kfree() instead of i915_vma_resource_free(). > Fix this. > > Fixes: Fixes: 2f6b90da9192 ("drm/i915: Use vma resources for async unbinding") > Reported-by: Robert Beckett <bob.beckett@collabora.com> > Cc: Matthew Auld <matthew.auld@intel.com> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c index b959e904c4d3..b1816a835abf 100644 --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c @@ -464,7 +464,7 @@ int i915_vma_bind(struct i915_vma *vma, if (vma->resource || !vma_res) { /* Rebinding with an additional I915_VMA_*_BIND */ GEM_WARN_ON(!vma_flags); - kfree(vma_res); + i915_vma_resource_free(vma_res); } else { i915_vma_resource_init_from_vma(vma_res, vma); vma->resource = vma_res; @@ -1462,7 +1462,7 @@ int i915_vma_pin_ww(struct i915_vma *vma, struct i915_gem_ww_ctx *ww, err_unlock: mutex_unlock(&vma->vm->mutex); err_vma_res: - kfree(vma_res); + i915_vma_resource_free(vma_res); err_fence: if (work) dma_fence_work_commit_imm(&work->base); diff --git a/drivers/gpu/drm/i915/i915_vma_resource.c b/drivers/gpu/drm/i915/i915_vma_resource.c index 1f41c0c699eb..6426c2f8a3b4 100644 --- a/drivers/gpu/drm/i915/i915_vma_resource.c +++ b/drivers/gpu/drm/i915/i915_vma_resource.c @@ -62,7 +62,8 @@ struct i915_vma_resource *i915_vma_resource_alloc(void) */ void i915_vma_resource_free(struct i915_vma_resource *vma_res) { - kmem_cache_free(slab_vma_resources, vma_res); + if (vma_res) + kmem_cache_free(slab_vma_resources, vma_res); } static const char *get_driver_name(struct dma_fence *fence)
In some cases we use leftover kfree() instead of i915_vma_resource_free(). Fix this. Fixes: Fixes: 2f6b90da9192 ("drm/i915: Use vma resources for async unbinding") Reported-by: Robert Beckett <bob.beckett@collabora.com> Cc: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> --- drivers/gpu/drm/i915/i915_vma.c | 4 ++-- drivers/gpu/drm/i915/i915_vma_resource.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-)