| From b1187ddff48458bbc879fb8a492d5f485f6f0582 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 18 Aug 2020 22:24:25 +0800 |
| Subject: ACPI: Add out of bounds and numa_off protections to pxm_to_node() |
| |
| From: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| |
| [ Upstream commit 8a3decac087aa897df5af04358c2089e52e70ac4 ] |
| |
| The function should check the validity of the pxm value before using |
| it to index the pxm_to_node_map[] array. |
| |
| Whilst hardening this code may be good in general, the main intent |
| here is to enable following patches that use this function to replace |
| acpi_map_pxm_to_node() for non SRAT usecases which should return |
| NO_NUMA_NODE for PXM entries not matching with those in SRAT. |
| |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Reviewed-by: Barry Song <song.bao.hua@hisilicon.com> |
| Reviewed-by: Hanjun Guo <guohanjun@huawei.com> |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 15bbaab8500b9..1fb486f46ee20 100644 |
| --- a/drivers/acpi/numa/srat.c |
| +++ b/drivers/acpi/numa/srat.c |
| @@ -31,7 +31,7 @@ int acpi_numa __initdata; |
| |
| int pxm_to_node(int pxm) |
| { |
| - if (pxm < 0) |
| + if (pxm < 0 || pxm >= MAX_PXM_DOMAINS || numa_off) |
| return NUMA_NO_NODE; |
| return pxm_to_node_map[pxm]; |
| } |
| -- |
| 2.27.0 |
| |