]> 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:06:56 +0000 (11:06 +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.c

index a7907b58562a729dfc50bc164b0c8da9d1490b4f..986712fe2a71c3f3c99e5b2d01cf1272b2ba4ad4 100644 (file)
@@ -46,7 +46,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];
 }