Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6f9d54fd authored by Oded Gabbay's avatar Oded Gabbay
Browse files

amdkfd: Fix memory leak of mqds on dqm fini



The mqds array members are not freed when dqm is uninitialized.

Reviewed-by: default avatarBen Goz <Ben.Goz@amd.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@amd.com>
parent e048a0b2
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -575,11 +575,15 @@ static int initialize_nocpsch(struct device_queue_manager *dqm)


static void uninitialize_nocpsch(struct device_queue_manager *dqm)
static void uninitialize_nocpsch(struct device_queue_manager *dqm)
{
{
	int i;

	BUG_ON(!dqm);
	BUG_ON(!dqm);


	BUG_ON(dqm->queue_count > 0 || dqm->processes_count > 0);
	BUG_ON(dqm->queue_count > 0 || dqm->processes_count > 0);


	kfree(dqm->allocated_queues);
	kfree(dqm->allocated_queues);
	for (i = 0 ; i < KFD_MQD_TYPE_MAX ; i++)
		kfree(dqm->mqds[i]);
	mutex_destroy(&dqm->lock);
	mutex_destroy(&dqm->lock);
	kfd2kgd->free_mem(dqm->dev->kgd,
	kfd2kgd->free_mem(dqm->dev->kgd,
			(struct kgd_mem *) dqm->pipeline_mem);
			(struct kgd_mem *) dqm->pipeline_mem);