]> www.infradead.org Git - linux.git/commitdiff
drm/xe/guc: Fix inverted logic on snapshot->copy check
authorColin Ian King <colin.i.king@gmail.com>
Wed, 9 Oct 2024 16:05:10 +0000 (17:05 +0100)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 10 Oct 2024 12:53:28 +0000 (14:53 +0200)
Currently the check to see if snapshot->copy has been allocated is
inverted and ends up dereferencing snapshot->copy when free'ing
objects in the array when it is null or not free'ing the objects
when snapshot->copy is allocated. Fix this by using the correct
non-null pointer check logic.

Fixes: d8ce1a977226 ("drm/xe/guc: Use a two stage dump for GuC logs and add more info")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241009160510.372195-1-colin.i.king@gmail.com
drivers/gpu/drm/xe/xe_guc_log.c

index 93921f04153f8a21c1856b9d8cd2ad172d17f32e..cc70f448d879c220609608bfad7bf10d591378b0 100644 (file)
@@ -122,7 +122,7 @@ void xe_guc_log_snapshot_free(struct xe_guc_log_snapshot *snapshot)
        if (!snapshot)
                return;
 
-       if (!snapshot->copy) {
+       if (snapshot->copy) {
                for (i = 0; i < snapshot->num_chunks; i++)
                        kfree(snapshot->copy[i]);
                kfree(snapshot->copy);