From: Colin Ian King <colin.king@xxxxxxxxxxxxx> The pointer 'target' is not initialized and is only assigned when the ACPI_HMAT_MEMORY_PD_VALID bit in p->flags is set. There is a later null check on target that leads to an uninitialized pointer read and dereference when assigning target->processor_pxm when target contains a non-null garbage value. Fix this by initializing targer to null. Fixes: 665ac7e92757 ("acpi/hmat: Register processor domain to its memory") Addresses-Coverity: ("Uninitialized pointer read") Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> --- drivers/acpi/hmat/hmat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c index b7824a0309f7..b275016ff648 100644 --- a/drivers/acpi/hmat/hmat.c +++ b/drivers/acpi/hmat/hmat.c @@ -366,7 +366,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade const unsigned long end) { struct acpi_hmat_proximity_domain *p = (void *)header; - struct memory_target *target; + struct memory_target *target = NULL; if (p->header.length != sizeof(*p)) { pr_notice("HMAT: Unexpected address range header length: %d\n", -- 2.20.1