Re: [PATCH 2/3] mm/memblock: Allocate boot time data structures from mirrored memory

From: Tony Luck
Date: Thu May 07 2015 - 17:24:52 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/