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

From: Linus Torvalds
Date: Tue Aug 29 2017 - 13:20:09 EST


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.

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

/*
* 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).
*/

so basically for the last ten years, it's very much been policy that

(a) you shouldn't do this except for during early bootiup

(b) you should have that KERN_CONT marker to show that you're doing it

So this is *not* new.

What is new is the enforcement, because people didn't follow the rules
without it.

So yes, we're enforcing it now, and we're not going back to the
unenforced times, because a decade of shit has shown that people
didn't do it without being forced to.

Linus