Re: printk: what is going on with additional newlines?

From: Joe Perches
Date: Tue Aug 29 2017 - 13:33:22 EST


On Tue, 2017-08-29 at 10:20 -0700, Linus Torvalds wrote:
> On Tue, Aug 29, 2017 at 10:10 AM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> > That's simply false.
> >
> > It was never true until you made it a requirement.
> > (it's not a bad requirement, but it did change behavior)
>
> Oh, it changed behavior, yes (and for kernel code we do that, and
> require people to change).
>
> But even before it was technically required, it was very much supposed
> to be there as a marker. KERN_CONT has existed for about a decade.

Which is very much not "forever" in kernel terms.

> It was added in commit 474925277671 ("printk: add KERN_CONT
> annotation") back in 2007, with a comment that said - at that time:

Yeah, I remember things too.

> /*
> * Annotation for a "continued" line of log printout (only done after a
> * line that had no enclosing \n). Only to be used by core/arch code
> * during early bootup (a continued line is not SMP-safe otherwise).
> */

And note the "core/arch code during bootup" bit.

Look, it's not fundamentally a "bad" requirement.
It was just not "always required".

And silently slipping in the change because you
were unhappy with adding newlines to some printks
was, at best, poor form.

Your change broke a bunch of output.