[PATCH v2 5/6] ACPI: Remove side effect of partly creating a node in acpi_get_node
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: <linux-mm@xxxxxxxxx>, <linux-acpi@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>
- Subject: [PATCH v2 5/6] ACPI: Remove side effect of partly creating a node in acpi_get_node
- From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
- Date: Sat, 18 Jul 2020 01:59:58 +0800
- Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>, Bjorn Helgaas <bhelgaas@xxxxxxxxxx>, <linux-pci@xxxxxxxxxxxxxxx>, <martin@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, <linux-ia64@xxxxxxxxxxxxxxx>, Tony Luck <tony.luck@xxxxxxxxx>, Fenghua Yu <fenghua.yu@xxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, <linuxarm@xxxxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>, Song Bao Hua <song.bao.hua@xxxxxxxxxxxxx>, Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
- In-reply-to: <20200717175959.899775-1-Jonathan.Cameron@huawei.com>
- References: <20200717175959.899775-1-Jonathan.Cameron@huawei.com>
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@xxxxxxxxxx>
---
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
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]