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

From: Joe Perches
Date: Sun Sep 17 2017 - 22:45:54 EST


On Mon, 2017-09-18 at 11:41 +0900, Sergey Senozhatsky wrote:
> On (09/17/17 19:22), Joe Perches wrote:
> > On Mon, 2017-09-18 at 09:46 +0900, Sergey Senozhatsky wrote:
> > > there is another reason why I think that, yes, we probably better do
> > > it some other way. and the reason is that not every message that looks
> > > like !PREFIX (does not start with KERN_SOH_ASCII) is _actually_ a
> > > !PREFIX message. the normal/usual way is to have something like
> > >
> > > printk(KERN_SOH_ASCII %d " foo bar / %s %s\n", "foo", "bar");
> > >
> > > but some messages look like
> > >
> > > printk("%s", KERN_SOH_ASCII %d "foo bar\n");
> >
> > There are no messages that look like that.
> >
> > There are 2 entries somewhat like that though
> >
> > net/bridge/netfilter/ebt_log.c: printk(KERN_SOH "%c%s IN=%s OUT=%s MAC source = %pM MAC dest = %pM proto = 0x%04x",
> > net/netfilter/nf_log_common.c:  nf_log_buf_add(m, KERN_SOH "%c%sIN=%s OUT=%s ",
>
> take a look at ACPI acpi_os_vprintf(). for instance.

I've looked.

Try git grep KERN_SOH.