On Wed, May 6, 2015 at 4:30 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: >> + if (!ret && flag) { >> + pr_warn("Could not allocate %lld bytes of mirrored memory\n", size); > > This printk will warn on some configs. Print a phys_addr_t with %pap. > I think. See huge comment over lib/vsprintf.c:pointer(). The comment may be huge - but it seems to lie about phys_addr_t :-( I changed to %pap and got: mm/memblock.c: In function ‘memblock_find_in_range’: mm/memblock.c:276:3: warning: format ‘%p’ expects argument of type ‘void *’, but argument 2 has type ‘phys_addr_t’ [-Wformat=] pr_warn("Could not allocate %pap bytes of mirrored memory\n", <linux/types.h> says: #ifdef CONFIG_PHYS_ADDR_T_64BIT typedef u64 phys_addr_t; #else typedef u32 phys_addr_t; #endif So my original %lld would indeed have barfed on 32-bit builds ... but %pap doesn't seem to be the right answer either. -Tony -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href