mm: use correct format specifiers when printing address ranges
authorJuergen Gross <jgross@suse.com>
Wed, 11 Feb 2015 23:26:01 +0000 (15:26 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 12 Feb 2015 01:06:02 +0000 (17:06 -0800)
Especially on 32 bit kernels memory node ranges are printed with 32 bit
wide addresses only.  Use u64 types and %llx specifiers to print full
width of addresses.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c

index 0081228d1caafe228da303e89e7626438656a17e..641d5a9a86179073a45f3cc38fd09ed074b5aee4 100644 (file)
@@ -4994,8 +4994,8 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
        pgdat->node_start_pfn = node_start_pfn;
 #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
        get_pfn_range_for_nid(nid, &start_pfn, &end_pfn);
-       printk(KERN_INFO "Initmem setup node %d [mem %#010Lx-%#010Lx]\n", nid,
-                       (u64) start_pfn << PAGE_SHIFT, (u64) (end_pfn << PAGE_SHIFT) - 1);
+       pr_info("Initmem setup node %d [mem %#018Lx-%#018Lx]\n", nid,
+               (u64)start_pfn << PAGE_SHIFT, ((u64)end_pfn << PAGE_SHIFT) - 1);
 #endif
        calculate_node_totalpages(pgdat, start_pfn, end_pfn,
                                  zones_size, zholes_size);
@@ -5367,9 +5367,10 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
                                arch_zone_highest_possible_pfn[i])
                        pr_cont("empty\n");
                else
-                       pr_cont("[mem %0#10lx-%0#10lx]\n",
-                               arch_zone_lowest_possible_pfn[i] << PAGE_SHIFT,
-                               (arch_zone_highest_possible_pfn[i]
+                       pr_cont("[mem %#018Lx-%#018Lx]\n",
+                               (u64)arch_zone_lowest_possible_pfn[i]
+                                       << PAGE_SHIFT,
+                               ((u64)arch_zone_highest_possible_pfn[i]
                                        << PAGE_SHIFT) - 1);
        }
 
@@ -5377,15 +5378,16 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
        pr_info("Movable zone start for each node\n");
        for (i = 0; i < MAX_NUMNODES; i++) {
                if (zone_movable_pfn[i])
-                       pr_info("  Node %d: %#010lx\n", i,
-                              zone_movable_pfn[i] << PAGE_SHIFT);
+                       pr_info("  Node %d: %#018Lx\n", i,
+                              (u64)zone_movable_pfn[i] << PAGE_SHIFT);
        }
 
        /* Print out the early node map */
        pr_info("Early memory node ranges\n");
        for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid)
-               pr_info("  node %3d: [mem %#010lx-%#010lx]\n", nid,
-                      start_pfn << PAGE_SHIFT, (end_pfn << PAGE_SHIFT) - 1);
+               pr_info("  node %3d: [mem %#018Lx-%#018Lx]\n", nid,
+                       (u64)start_pfn << PAGE_SHIFT,
+                       ((u64)end_pfn << PAGE_SHIFT) - 1);
 
        /* Initialise every node */
        mminit_verify_pageflags_layout();