Thread (12 messages) 12 messages, 3 authors, 2020-07-28

RE: [PATCH v2 5/6] ACPI: Remove side effect of partly creating a node in acpi_get_node

From: Song Bao Hua (Barry Song) <hidden>
Date: 2020-07-18 05:18:22
Also in: linux-acpi, linux-mm, linux-pci

-----Original Message-----
From: Jonathan Cameron
Sent: Saturday, July 18, 2020 6:00 AM
To: linux-mm@kvack.org; linux-acpi@vger.kernel.org;
linux-arm-kernel@lists.infradead.org; x86@kernel.org
Cc: Lorenzo Pieralisi <redacted>; Bjorn Helgaas
[off-list ref]; linux-pci@vger.kernel.org; martin@geanix.com; Ingo
Molnar [off-list ref]; linux-ia64@vger.kernel.org; Tony Luck
[off-list ref]; Fenghua Yu [off-list ref]; Thomas
Gleixner [off-list ref]; Linuxarm [off-list ref]; Dan
Williams [off-list ref]; Song Bao Hua (Barry Song)
[off-list ref]; Jonathan Cameron
[off-list ref]
Subject: [PATCH v2 5/6] ACPI: Remove side effect of partly creating a node in
acpi_get_node

acpi_get_node calls acpi_get_pxm to evaluate the _PXM AML method for
entries found in DSDT/SSDT. ACPI 6.3 sec 6.2.14 states
"_PXM evaluates to an integer that identifies a device as belonging to
 a Proximity Domain defined in the System Resource Affinity Table (SRAT)."

Hence a _PXM method should not result in creation of a new NUMA node.
Before this patch, _PXM could result in partial instantiation of
NUMA node, missing elements such as zone lists.  A call to devm_kzalloc
for example results in a null pointer dereference.

This patch therefore replaces the acpi_map_pxm_to_node with a call
to pxm_to_node.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Barry Song <redacted>
quoted hunk ↗ jump to hunk
---
 drivers/acpi/numa/srat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
index 8ef44ee0d76b..697a5c9e2eb5 100644
--- a/drivers/acpi/numa/srat.c
+++ b/drivers/acpi/numa/srat.c
@@ -444,6 +444,6 @@ int acpi_get_node(acpi_handle handle)

 	pxm = acpi_get_pxm(handle);

-	return acpi_map_pxm_to_node(pxm);
+	return pxm_to_node(pxm);
 }
 EXPORT_SYMBOL(acpi_get_node);
--
2.19.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help