Commit 48a44387 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Oded Gabbay

drm/amdkfd: fix uninitialized variable use

When CONFIG_ACPI is disabled, we never initialize the acpi_table
structure in kfd_create_crat_image_virtual:

drivers/gpu/drm/amd/amdkfd/kfd_crat.c: In function 'kfd_create_crat_image_virtual':
drivers/gpu/drm/amd/amdkfd/kfd_crat.c:888:40: error: 'acpi_table' may be used uninitialized in this function [-Werror=maybe-uninitialized]

The undefined behavior also happens for any other acpi_get_table()
failure, but then the compiler can't warn about it.

This adds an error check that prevents the structure from
being used in error, avoiding both the undefined behavior and
the warning about it.

Fixes: 520b8fb7 ("drm/amdkfd: Add topology support for CPUs")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent 7420f482
...@@ -882,7 +882,7 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size) ...@@ -882,7 +882,7 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size)
crat_table->length = sizeof(struct crat_header); crat_table->length = sizeof(struct crat_header);
status = acpi_get_table("DSDT", 0, &acpi_table); status = acpi_get_table("DSDT", 0, &acpi_table);
if (status == AE_NOT_FOUND) if (status != AE_OK)
pr_warn("DSDT table not found for OEM information\n"); pr_warn("DSDT table not found for OEM information\n");
else { else {
crat_table->oem_revision = acpi_table->revision; crat_table->oem_revision = acpi_table->revision;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment