On Thu, Mar 15, 2018 at 6:49 PM, Arnd Bergmann <arnd at arndb.de> wrote: > 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: 520b8fb755cc ("drm/amdkfd: Add topology support for CPUs") > Signed-off-by: Arnd Bergmann <arnd at arndb.de> > --- > drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > index 7493f47e7fe1..d85112224f1d 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > @@ -882,7 +882,7 @@ static int kfd_create_vcrat_image_cpu(void *pcrat_image, size_t *size) > crat_table->length = sizeof(struct crat_header); > > 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"); > else { > crat_table->oem_revision = acpi_table->revision; > -- > 2.9.0 > Thanks! Applied to -next Oded