Commit b0e5c88d authored by Dinghao Liu's avatar Dinghao Liu Committed by Alex Deucher
Browse files

drm/amd/pm: fix a memleak in aldebaran_tables_init



When kzalloc() for smu_table->ecc_table fails, we should free
the previously allocated resources to prevent memleak.

Fixes: edd79420 ("drm/amd/pm: add message smu to get ecc_table v2")
Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ca0b0069
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -257,8 +257,11 @@ static int aldebaran_tables_init(struct smu_context *smu)
	}

	smu_table->ecc_table = kzalloc(tables[SMU_TABLE_ECCINFO].size, GFP_KERNEL);
	if (!smu_table->ecc_table)
	if (!smu_table->ecc_table) {
		kfree(smu_table->metrics_table);
		kfree(smu_table->gpu_metrics_table);
		return -ENOMEM;
	}

	return 0;
}