Re: [PATCH -next] mm/hugetlb.c: fix printk format warning for 32-bit phys_addr_t

From: Randy Dunlap
Date: Wed Mar 18 2020 - 22:11:11 EST


On 3/18/20 7:04 PM, Joe Perches wrote:
> On Wed, 2020-03-18 at 14:33 -0700, Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>>
>> Fix printk format warnings when phys_addr_t is 32 bits, i.e.,
>> CONFIG_PHYS_ADDR_T_64BIT is not set/enabled.
> []
>> ../mm/hugetlb.c:5472:73: note: format string is defined here
>> pr_warn("hugetlb_cma: reservation failed: err %d, node %d, [%llu, %llu)",
>> ~~~^
> []
>> --- linux-next-20200318.orig/mm/hugetlb.c
>> +++ linux-next-20200318/mm/hugetlb.c
>> @@ -5469,8 +5469,10 @@ void __init hugetlb_cma_reserve(int orde
>> 0, false,
>> "hugetlb", &hugetlb_cma[nid]);
>> if (res) {
>> - pr_warn("hugetlb_cma: reservation failed: err %d, node %d, [%llu, %llu)",
>> - res, nid, PFN_PHYS(min_pfn), PFN_PHYS(max_pfn));
>> + phys_addr_t begpa = PFN_PHYS(min_pfn);
>> + phys_addr_t endpa = PFN_PHYS(max_pfn);
>> + pr_warn("hugetlb_cma: reservation failed: err %d, node %d, [%pap, %pap)",
>> + res, nid, &begpa, &endpa);
>
> You might correct the odd use of an open bracket
> then close parenthesis and add a new line too

Definitely needs a newline char.

I'm fairly sure that the [begin, end) notation is done on purpose, meaning
<begin> is included in the range and <end> is not included in the range.

>
> Perhaps:
> pr_warn("%s: reservation failed: err %d, node %d, [%pap, %pap]\n",
> __func__, res, nid, &begpa, &endpa);
>
>

thanks.
--
~Randy