]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915/guc: Clear pointers on free
authorJohn Harrison <John.C.Harrison@Intel.com>
Wed, 28 Oct 2020 14:58:26 +0000 (07:58 -0700)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thu, 29 Oct 2020 11:46:28 +0000 (13:46 +0200)
Clear out some pointers when objects have been de-allocated. This
makes it much easier to track down use-after-free type issues.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201028145826.2949180-4-John.C.Harrison@Intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c

index 7950d28beb8c8c00c2b173579ddf588415bdf2e3..5212ff844292adc538c92a01697931451343cc24 100644 (file)
@@ -220,6 +220,7 @@ int intel_guc_ads_create(struct intel_guc *guc)
 void intel_guc_ads_destroy(struct intel_guc *guc)
 {
        i915_vma_unpin_and_release(&guc->ads_vma, I915_VMA_RELEASE_MAP);
+       guc->ads_blob = NULL;
 }
 
 static void guc_ads_private_data_reset(struct intel_guc *guc)
index 11742fca0e9eb5cda12cf79d268ce8103dca4403..fa9e048cc65f8380e3a2fa686bea12c6174cf967 100644 (file)
@@ -210,6 +210,7 @@ void intel_guc_ct_fini(struct intel_guc_ct *ct)
        GEM_BUG_ON(ct->enabled);
 
        i915_vma_unpin_and_release(&ct->vma, I915_VMA_RELEASE_MAP);
+       memset(ct, 0, sizeof(*ct));
 }
 
 /**