Re: [PATCH] mm/ioremap: Use WARN_ONCE instead of printk() + WARN_ON_ONCE()

From: zhong jiang
Date: Fri Nov 01 2019 - 11:18:45 EST


On 2019/10/31 20:00, Joe Perches wrote:
> On Thu, 2019-10-31 at 19:36 +0800, zhong jiang wrote:
>> On 2019/10/31 19:03, Borislav Petkov wrote:
>>> On Wed, Oct 30, 2019 at 04:57:18PM +0800, zhong jiang wrote:
>>>> WARN_ONCE is more clear and simpler. Just replace it.
> []
>>>> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
> []
>>>> @@ -172,9 +172,8 @@ static void __ioremap_check_mem(resource_size_t addr, unsigned long size,
>>>> return NULL;
>>>>
>>>> if (!phys_addr_valid(phys_addr)) {
>>>> - printk(KERN_WARNING "ioremap: invalid physical address %llx\n",
>>>> - (unsigned long long)phys_addr);
>>>> - WARN_ON_ONCE(1);
>>>> + WARN_ONCE(1, "ioremap: invalid physical address %llx\n",
>>>> + (unsigned long long)phys_addr);
>>> Does
>>> WARN_ONCE(!phys_addr_valid(phys_addr),
>>> "ioremap: invalid physical address %llx\n",
>>> (unsigned long long)phys_addr);
>>>
>>> work too?
>>>
>> Thanks, That is better. Will repost.
> Perhaps this is not good patch concept as now each
> invalid physical address will not be emitted.
>
> Before:
> each invalid physical address printed
> one stack dump
>
> After:
> one stck dump with first invalid physical address.
>
I misunderstand your meaning. You're right. My patch change its logical.
Thanks for your reminder.

Sincerely,
zhong jiang
>
> .
>