Re: [PATCH] arch_numa: fix common code printing of phys_addr_t
From: Atish Patra
Date: Thu Jan 28 2021 - 15:13:36 EST
On Wed, 2021-01-27 at 19:55 -0800, Randy Dunlap wrote:
> Fix build warnings in the arch_numa common code:
>
> ../include/linux/kern_levels.h:5:18: warning: format '%Lx' expects
> argument of type 'long long unsigned int', but argument 3 has type
> 'phys_addr_t' {aka 'unsigned int'} [-Wformat=]
> ../drivers/base/arch_numa.c:360:56: note: format string is defined
> here
> 360 | pr_warn("Warning: invalid memblk node %d [mem %#010Lx-
> %#010Lx]\n",
> ../drivers/base/arch_numa.c:435:39: note: format string is defined
> here
> 435 | pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n", start,
> end - 1);
>
> Fixes: ae3c107cd8be ("numa: Move numa implementation to common code")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Cc: Atish Patra <atish.patra@xxxxxxx>
> Cc: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx>
> ---
> drivers/base/arch_numa.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> --- linux-next-20210125.orig/drivers/base/arch_numa.c
> +++ linux-next-20210125/drivers/base/arch_numa.c
> @@ -355,11 +355,12 @@ static int __init numa_register_nodes(vo
> /* Check that valid nid is set to memblks */
> for_each_mem_region(mblk) {
> int mblk_nid = memblock_get_region_node(mblk);
> + phys_addr_t start = mblk->base;
> + phys_addr_t end = mblk->base + mblk->size - 1;
>
> if (mblk_nid == NUMA_NO_NODE || mblk_nid >=
> MAX_NUMNODES) {
> - pr_warn("Warning: invalid memblk node %d [mem
> %#010Lx-%#010Lx]\n",
> - mblk_nid, mblk->base,
> - mblk->base + mblk->size - 1);
> + pr_warn("Warning: invalid memblk node %d [mem
> %pap-%pap]\n",
> + mblk_nid, &start, &end);
> return -EINVAL;
> }
> }
> @@ -427,14 +428,14 @@ out_free_distance:
> static int __init dummy_numa_init(void)
> {
> phys_addr_t start = memblock_start_of_DRAM();
> - phys_addr_t end = memblock_end_of_DRAM();
> + phys_addr_t end = memblock_end_of_DRAM() - 1;
> int ret;
>
> if (numa_off)
> pr_info("NUMA disabled\n"); /* Forced off on command
> line. */
> - pr_info("Faking a node at [mem %#018Lx-%#018Lx]\n", start,
> end - 1);
> + pr_info("Faking a node at [mem %pap-%pap]\n", &start, &end);
>
> - ret = numa_add_memblk(0, start, end);
> + ret = numa_add_memblk(0, start, end + 1);
> if (ret) {
> pr_err("NUMA init failed\n");
> return ret;
Thanks for the fix.
Reviewed-by: Atish Patra <atish.patra@xxxxxxx>
--
Regards,
Atish