On (11/09/16 13:41), Petr Mladek wrote:
> The commit 4bcc595ccd80decb4245 ("printk: reinstate KERN_CONT for printing
> continuation lines") added back KERN_CONT message header. As a result
> it might appear in the middle of the line when the parts are squashed
> via the temporary NMI buffer.
> 
> A reasonable solution seems to be to split the text in the NNI temporary
> not only by newlines but also by the message headers.
> 
> Another solution would be to filter out KERN_CONT when writing to
> the temporary buffer. But this would complicate the lockless handling.
> Also it would not solve problems with a missing newline that was there
> even before the KERN_CONT stuff.
> 
> This patch moves the temporary buffer handling into separate function.
> I played with it and it seems that using the char pointers make the
> code easier to read.
> 
> Also it prints the final newline as a continuous line.
> 
> Finally, it moves handling of the s->len overflow into the paranoid check.
> And allows to recover from the disaster.
> 
> Signed-off-by: Petr Mladek <pmla...@suse.com>

Reviewed-by: Sergey Senozhatsky <sergey.senozhat...@gmail.com>



without the patch I see prefixes (^Ac) in WARN_ON() output from NMI:

[    0.895911] ------------[ cut here ]------------
[    0.895966] WARNING: CPU: 0 PID: 1 at kernel/[..]
[    0.896026] Modules linked in:^Ac
                                ^^^^
[..]
[    0.896705] RSP: 0000:ffffc900000176c0 EFLAGS: 00000296^Ac
                                                        ^^^^^

        -ss

Reply via email to