Hi Petr, I noticed some minor errors in the commit log and comments...
On 2021-01-14, John Ogness <john.ogn...@linutronix.de> wrote: > Before commit b6cf8b3f3312 ("printk: add lockless ringbuffer"), > msg_print_text() The correct commit where the change was made is: 896fbe20b4e2333fb55 ("printk: use the lockless ringbuffer") > would only write up to size-1 bytes into the > provided buffer. Some callers expect this behavior and append > a terminator to returned string. In particular: > > arch/powerpc/xmon/xmon.c:dump_log_buf() > arch/um/kernel/kmsg_dump.c:kmsg_dumper_stdout() > > msg_print_text() has been replaced by record_print_text(), which > currently fills the full size of the buffer. This causes a > buffer overflow for the above callers. > > Change record_print_text() so that it will only use size-1 bytes > for text data. Also, for paranoia sakes, add a terminator after > the text data. > > And finally, document this behavior so that it is clear that only > size-1 bytes are used and a terminator is added. > > Fixes: b6cf8b3f3312 ("printk: add lockless ringbuffer") Ditto for Fixes tag: 896fbe20b4e2333fb55 ("printk: use the lockless ringbuffer") > Signed-off-by: John Ogness <john.ogn...@linutronix.de> > --- > kernel/printk/printk.c | 35 +++++++++++++++++++++++++++-------- > 1 file changed, 27 insertions(+), 8 deletions(-) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index ffdd0dc7ec6d..73f9eae19f05 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -1293,9 +1293,15 @@ static size_t info_print_prefix(const struct > printk_info *info, bool syslog, > * - Add prefix for each line. > * - Add the trailing newline that has been removed in vprintk_store(). > * - Drop truncated lines that do not longer fit into the buffer. > + * - Add a trailing newline. > + * - Add a string terminator. I didn't realize that the newline was already listed (since it was out of order). I recommend these comments changing to: - Add prefix for each line. - Drop truncated lines that no longer fit into the buffer. - Add the trailing newline that has been removed in vprintk_store(). - Add a string terminator. Can you fixup the patch for the commit or do you need a v2? John Ogness