Re: [PATCH printk v4 6/8] printk: introduce console_prepend_dropped() for dropped messages
From: Petr Mladek
Date: Fri Jan 06 2023 - 04:40:50 EST
On Thu 2023-01-05 17:41:59, John Ogness wrote:
> On 2023-01-05, Petr Mladek <pmladek@xxxxxxxx> wrote:
> >> + if (WARN_ON_ONCE(len + PREFIX_MAX >= outbuf_sz))
> >> + return;
> >
> > I guess that this will always trigger the compiler warning
> > when CONFIG_PRINTK is disabled. See the report for v3 at
> > https://lore.kernel.org/r/202301052114.vvN3wQoH-lkp@xxxxxxxxx
>
> That report is actually complaining about the check after this one. It
> is the same "problem".
I see.
> > Hmm, we might want to fix this warning so that it does not break
> > build with -Werror.
> >
> > IMHO, the proper solution would be to define this function only when
> > CONFIG_PRINTK is defined. But it might require bigger changes
> > and define many more console functions only when CONFIG_PRINTK
> > is defined. This is out-of-scope of this patchset.
> >
> > I wonder if the following would work as an "intermediate" workaround:
> >
> > if (!IS_ENABLED(CONFIG_PRINTK) ||
> > WARN_ON_ONCE(len + PREFIX_MAX >= outbuf_sz))
> > return;
>
> The whole CONFIG_PRINTK stuff is a total mess right now. We should
> definitely get that cleaned up at some point. As an intermediate
> workaround, it might make more sense to just put the whole function
> inside an "#ifdef CONFIG_PRINTK". It doesn't return anything anyway.
>
> #ifdef CONFIG_PRINTK
> static void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
> {
> ...
> }
> #else
> #define console_prepend_dropped(pmsg, dropped)
> #endif
Looks good.
The question is if we want to do it in this patch or as a follow up
fix.
I slightly prefer to do it as a follow up fix to avoid another respin.
Also we will not need to complicate this patch with explaining
why this is needed.
Best Regards,
Petr