summaryrefslogtreecommitdiff
path: root/drivers/acpi
diff options
context:
space:
mode:
authorJonathan Cameron <Jonathan.Cameron@huawei.com>2020-08-18 17:24:29 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-09-24 13:57:38 +0300
commita62d07e0006a3a3ce77041ca07f3c488ec880790 (patch)
tree5b8e0525239fe97a0dd807720fba1e7ac58bc41f /drivers/acpi
parent4eb3723f18e9ba4d4b13d82b6f7e68dd50a852ea (diff)
downloadlinux-a62d07e0006a3a3ce77041ca07f3c488ec880790.tar.xz
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: Hanjun Guo <guohanjun@huawei.com> Reviewed-by: Barry Song <song.bao.hua@hisilicon.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/numa/srat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
index 1fb486f46ee2..2c9a66c203ff 100644
--- a/drivers/acpi/numa/srat.c
+++ b/drivers/acpi/numa/srat.c
@@ -436,6 +436,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);