diff mbox

ACPI/NUMA: Do not map pxm to node when NUMA is turned off

Message ID 1481570993-13941-2-git-send-email-boris.ostrovsky@oracle.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Boris Ostrovsky Dec. 12, 2016, 7:29 p.m. UTC
Otherwise we may unexpectedly reference a non-zero node via, for example,
acpi_get_node() while other parts of the kernel assume that only node 0
(which is what NUMA_NO_NODE is supposed to be converted to) is
available.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
---
 drivers/acpi/numa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

kernel test robot Dec. 13, 2016, 12:11 a.m. UTC | #1
Hi Boris,

[auto build test WARNING on pm/linux-next]
[also build test WARNING on v4.9 next-20161212]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Boris-Ostrovsky/ACPI-NUMA-Do-not-map-pxm-to-node-when-NUMA-is-turned-off/20161213-045302
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-allyesdebian (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

>> WARNING: vmlinux.o(.text+0x8acd33): Section mismatch in reference from the function acpi_map_pxm_to_node() to the variable .init.data:numa_off
   The function acpi_map_pxm_to_node() references
   the variable __initdata numa_off.
   This is often because acpi_map_pxm_to_node lacks a __initdata
   annotation or the annotation of numa_off is wrong.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index ce3a7a1..edb0c79 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -70,7 +70,7 @@  int acpi_map_pxm_to_node(int pxm)
 {
 	int node;
 
-	if (pxm < 0 || pxm >= MAX_PXM_DOMAINS)
+	if (pxm < 0 || pxm >= MAX_PXM_DOMAINS || numa_off)
 		return NUMA_NO_NODE;
 
 	node = pxm_to_node_map[pxm];