printk: guard the amount written per line by devkmsg_read() 75/60875/2
authorTejun Heo <tj@kernel.org>
Thu, 14 May 2015 15:36:36 +0000 (11:36 -0400)
committerJoonyoung Shim <jy0922.shim@samsung.com>
Fri, 11 Mar 2016 00:48:07 +0000 (16:48 -0800)
commit0048f176788f3c5bd3348244f6e2a1a3ad9b733b
tree593a6a9916d9f9f6d32c443d7f3f7f0ffdf0c688
parent3f1f64f58db2b35339f4f880707f3fd2f7be8015
printk: guard the amount written per line by devkmsg_read()

This patchset updates netconsole so that it can emit messages with the
same header as used in /dev/kmsg which gives neconsole receiver full log
information which enables things like structured logging and detection
of lost messages.

This patch:

devkmsg_read() uses 8k buffer and assumes that the formatted output
message won't overrun which seems safe given LOG_LINE_MAX, the current use
of dict and the escaping method being used; however, we're planning to use
devkmsg formatting wider and accounting for the buffer size properly isn't
that complicated.

This patch defines CONSOLE_EXT_LOG_MAX as 8192 and updates devkmsg_read()
so that it limits output accordingly.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: David Miller <davem@davemloft.net>
Cc: Kay Sievers <kay@vrfy.org>
Reviewed-by: Petr Mladek <pmladek@suse.cz>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: Idead54c1fb93161aebd0e00be0b66f96b907233b
include/linux/printk.h
kernel/printk_kmsg.c