]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ACPI: Add out of bounds and numa_off protections to pxm_to_node()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 18 Aug 2020 14:24:25 +0000 (22:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Nov 2020 10:51:23 +0000 (11:51 +0100)
[ 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

index 15bbaab8500b9773a99f0680c10e64d5c85d8652..1fb486f46ee206e2ee58b8563a40ecbb6593d7b1 100644 (file)
@@ -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];
 }