Re: [PATCH V3] printk: Create pr_<level> functions

From: Joe Perches
Date: Tue Aug 09 2016 - 13:38:55 EST


On Tue, 2016-08-09 at 19:01 +0200, Geert Uytterhoeven wrote:
> On Fri, Jun 24, 2016 at 5:46 AM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> > Using functions instead of macros can reduce overall code size
> > by eliminating unnecessary "KERN_SOH" prefixes from
> > format strings.
> This change, commit 874f9c7da9a4acbc1 upstream, seems to have an
> (unintendent?) side-effect.
>
> Before, pr_*() calls without a trailing newline characters would be printed
> with a newline character appended, both on the console and in the output
> of the dmesg command.
> After this commit, no new line character is appended, and the output of
> the next pr_*() call of the same type may be appended, like in:
>
>   - Truncating RAM at 0x0000000040000000-0x00000000c0000000 to
> -0x0000000070000000
>   - Ignoring RAM at 0x0000000200000000-0x0000000240000000 (!CONFIG_HIGHMEM)
>   + Truncating RAM at 0x0000000040000000-0x00000000c0000000 to
> -0x0000000070000000Ignoring RAM at
> 0x0000000200000000-0x0000000240000000 (!CONFIG_HIGHMEM)
>
> I don't know why this is happening, hence I had to use git bisect to find
> the offending commit.

The newline handling code inside vprintk_emit is a bit
involved and for now I suggest a revert until this has
all the same behavior as earlier.