Jiri Slaby ba7816
From: Chia-I Wu <olvaffe@gmail.com>
Jiri Slaby ba7816
Date: Tue, 7 Mar 2023 16:19:02 -0800
Jiri Slaby ba7816
Subject: [PATCH] drm/amdkfd: fix a potential double free in pqm_create_queue
Jiri Slaby ba7816
References: bsc#1012628
Jiri Slaby ba7816
Patch-mainline: 6.2.10
Jiri Slaby ba7816
Git-commit: b2ca5c5d416b4e72d1e9d0293fc720e2d525fd42
Jiri Slaby ba7816
Jiri Slaby ba7816
[ Upstream commit b2ca5c5d416b4e72d1e9d0293fc720e2d525fd42 ]
Jiri Slaby ba7816
Jiri Slaby ba7816
Set *q to NULL on errors, otherwise pqm_create_queue would free it
Jiri Slaby ba7816
again.
Jiri Slaby ba7816
Jiri Slaby ba7816
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Jiri Slaby ba7816
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Jiri Slaby ba7816
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Jiri Slaby ba7816
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Jiri Slaby ba7816
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby ba7816
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby ba7816
---
Jiri Slaby ba7816
 drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 4 ++--
Jiri Slaby ba7816
 1 file changed, 2 insertions(+), 2 deletions(-)
Jiri Slaby ba7816
Jiri Slaby ba7816
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
Jiri Slaby ba7816
index 5137476e..4236539d 100644
Jiri Slaby ba7816
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
Jiri Slaby ba7816
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
Jiri Slaby ba7816
@@ -218,8 +218,8 @@ static int init_user_queue(struct process_queue_manager *pqm,
Jiri Slaby ba7816
 	return 0;
Jiri Slaby ba7816
 
Jiri Slaby ba7816
 cleanup:
Jiri Slaby ba7816
-	if (dev->shared_resources.enable_mes)
Jiri Slaby ba7816
-		uninit_queue(*q);
Jiri Slaby ba7816
+	uninit_queue(*q);
Jiri Slaby ba7816
+	*q = NULL;
Jiri Slaby ba7816
 	return retval;
Jiri Slaby ba7816
 }
Jiri Slaby ba7816
 
Jiri Slaby ba7816
-- 
Jiri Slaby ba7816
2.35.3
Jiri Slaby ba7816