Commit 4ad9921a authored by John Ogness's avatar John Ogness Committed by Petr Mladek

printk: finalize records with trailing newlines

Any record with a trailing newline (LOG_NEWLINE flag) cannot
be continued because the newline has been stripped and will
not be visible if the message is appended. This was already
handled correctly when committing in log_output() but was
not handled correctly when committing in log_store().

Fixes: f5f022e5 ("printk: reimplement log_cont using record extension")
Link: https://lore.kernel.org/r/20201126114836.14750-1-john.ogness@linutronix.deReported-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarJohn Ogness <john.ogness@linutronix.de>
Tested-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
parent 8119c433
...@@ -528,8 +528,8 @@ static int log_store(u32 caller_id, int facility, int level, ...@@ -528,8 +528,8 @@ static int log_store(u32 caller_id, int facility, int level,
if (dev_info) if (dev_info)
memcpy(&r.info->dev_info, dev_info, sizeof(r.info->dev_info)); memcpy(&r.info->dev_info, dev_info, sizeof(r.info->dev_info));
/* insert message */ /* A message without a trailing newline can be continued. */
if ((flags & LOG_CONT) || !(flags & LOG_NEWLINE)) if (!(flags & LOG_NEWLINE))
prb_commit(&e); prb_commit(&e);
else else
prb_final_commit(&e); prb_final_commit(&e);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment