On Tue 30-09-14 18:16:20, Petr Mladek wrote:
> On Mon 29-09-14 13:58:56, Hannes Reinecke wrote:
> > Move buffer formatting to the start of the function as it
> > doesn't require to be done under any locks.
> > No functional change, required by the next patch.
> > 
> > Cc: Steven Rostedt <rost...@goodmis.org>
> > Cc: LKML <linux-kernel@vger.kernel.org>
> 
> printk stuff is maintained by Andrew in mm tree, so adding him into CC.
> 
> > Signed-off-by: Hannes Reinecke <h...@suse.de>
> 
> Reviewed-by: Petr Mladek <pmla...@suse.cz>

I have just realized that textbuf[LOG_LINE_MAX] is a static variable.
It means that it must be used under the lock and this patch is wrong.
I want to take back the Reviewed-by and instead do

Nacked->by: Petr Mladek <pmla...@suse.cz>

also it means that it does not take the extra space on the stack
and you probably does not need the two patches at all.

Best Regards,
Petr
 
> I do not see any obvious problem. Just note that
> [sched_delayed] has already been removed in -mm tree. You might
> want to base this patch on top of the commit 460d73c35ffa17979422290
> ("printk: git rid of [sched_delayed] message for printk_deferred")
> from linux-next.
> 
> Best Regards,
> Petr
> 
> > ---
> >  kernel/printk/printk.c | 21 ++++++++++-----------
> >  1 file changed, 10 insertions(+), 11 deletions(-)
> > 
> > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> > index 1ce7706..d13675e 100644
> > --- a/kernel/printk/printk.c
> > +++ b/kernel/printk/printk.c
> > @@ -1633,8 +1633,18 @@ asmlinkage int vprintk_emit(int facility, int level,
> >     if (level == SCHED_MESSAGE_LOGLEVEL) {
> >             level = -1;
> >             in_sched = true;
> > +
> > +           /*
> > +            * The printf needs to come first; we need the syslog
> > +            * prefix which might be passed-in as a parameter.
> > +            */
> > +           text_len = scnprintf(text, sizeof(textbuf),
> > +                                KERN_WARNING "[sched_delayed] ");
> >     }
> >  
> > +   text_len += vscnprintf(text + text_len,
> > +                          sizeof(textbuf) - text_len, fmt, args);
> > +
> >     boot_delay_msec(level);
> >     printk_delay();
> >  
> > @@ -1676,17 +1686,6 @@ asmlinkage int vprintk_emit(int facility, int level,
> >                                      strlen(recursion_msg));
> >     }
> >  
> > -   /*
> > -    * The printf needs to come first; we need the syslog
> > -    * prefix which might be passed-in as a parameter.
> > -    */
> > -   if (in_sched)
> > -           text_len = scnprintf(text, sizeof(textbuf),
> > -                                KERN_WARNING "[sched_delayed] ");
> > -
> > -   text_len += vscnprintf(text + text_len,
> > -                          sizeof(textbuf) - text_len, fmt, args);
> > -
> >     /* mark and strip a trailing newline */
> >     if (text_len && text[text_len-1] == '\n') {
> >             text_len--;
> > -- 
> > 1.8.5.2
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to