Messages in this thread | | | Date | Thu, 7 May 2015 14:24:46 -0700 | Subject | Re: [PATCH 2/3] mm/memblock: Allocate boot time data structures from mirrored memory | From | Tony Luck <> |
| |
On Wed, May 6, 2015 at 4:30 PM, Andrew Morton <akpm@linux-foundation.org> 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
| |