The patch titled Subject: device-dax: require NUMA_KEEP_MEMINFO for phys_to_target_node() has been added to the -mm tree. Its filename is acpi-hmat-attach-a-device-for-each-soft-reserved-range-fix.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/acpi-hmat-attach-a-device-for-each-soft-reserved-range-fix.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/acpi-hmat-attach-a-device-for-each-soft-reserved-range-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Joao Martins <joao.m.martins@xxxxxxxxxx> Subject: device-dax: require NUMA_KEEP_MEMINFO for phys_to_target_node() phys_to_target_node() and memory_add_physaddr_to_nid() are only defined with both CONFIG_NUMA=y and CONFIG_MEMORY_HOTPLUG=y. Oherwise we see: drivers/dax/hmem/device.o: in function `hmem_register_one': drivers/dax/hmem/device.c:85: undefined reference to `phys_to_target_node' lkp also reports such build failures: ld.lld: error: undefined symbol: phys_to_target_node X86 is a special case in which both can be defined without depending on MEMORY_HOTPLUG=y. The other case is powerpc (for memory_add_physaddr_to_nid) but like ARM64 dependencies, the arch-specific override requires CONFIG_NUMA and CONFIG_MEMORY_HOTPLUG. In all cases this ends up depending on CONFIG_NUMA_KEEP_MEMINFO to signal the presence of phys_to_target_node() which is what CONFIG_DEV_DAX_HMEM_DEVICES should depend on. Additionally, the X86 arch-override is not selected unless X86_PMEM_LEGACY=y. So on CONFIG_DEV_DAX_HMEM we select CONFIG_NUMA_KEEP_INFO ourselves if both NUMA and X86 are set. Link: https://lkml.kernel.org/r/aaae71a7-4846-f5cc-5acf-cf05fdb1f2dc@xxxxxxxxxx Reported-by: kernel test robot <lkp@xxxxxxxxx> Signed-off-by: Joao Martins <joao.m.martins@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/dax/Kconfig | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/dax/Kconfig~acpi-hmat-attach-a-device-for-each-soft-reserved-range-fix +++ a/drivers/dax/Kconfig @@ -35,6 +35,7 @@ config DEV_DAX_PMEM config DEV_DAX_HMEM tristate "HMEM DAX: direct access to 'specific purpose' memory" depends on EFI_SOFT_RESERVE + select NUMA_KEEP_MEMINFO if (NUMA && X86) default DEV_DAX help EFI 2.8 platforms, and others, may advertise 'specific purpose' @@ -49,6 +50,7 @@ config DEV_DAX_HMEM Say M if unsure. config DEV_DAX_HMEM_DEVICES + depends on NUMA_KEEP_MEMINFO # for phys_to_target_node() depends on DEV_DAX_HMEM && DAX=y def_bool y _ Patches currently in -mm which might be from joao.m.martins@xxxxxxxxxx are acpi-hmat-refactor-hmat_register_target_device-to-hmem_register_device-fix.patch acpi-hmat-attach-a-device-for-each-soft-reserved-range-fix.patch device-dax-add-dis-contiguous-resource-support-fix.patch device-dax-make-align-a-per-device-property.patch device-dax-add-an-align-attribute.patch device-dax-add-an-align-attribute-fixpatch.patch dax-hmem-introduce-dax_hmemregion_idle-parameter.patch device-dax-add-a-range-mapping-allocation-attribute.patch