diff mbox series

powerpc/xmon: make dumping log buffer contents more reliable

Message ID 20210514162420.2911458-1-nathanl@linux.ibm.com
State Accepted
Headers show
Series powerpc/xmon: make dumping log buffer contents more reliable | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch powerpc/merge (b68d19e1abdbafef9481c7c0b0bcaff34d7af17d)
snowpatch_ozlabs/build-ppc64le success Build succeeded
snowpatch_ozlabs/build-ppc64be success Build succeeded
snowpatch_ozlabs/build-ppc64e success Build succeeded
snowpatch_ozlabs/build-pmac32 success Build succeeded
snowpatch_ozlabs/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
snowpatch_ozlabs/needsstable success Patch has no Fixes tags

Commit Message

Nathan Lynch May 14, 2021, 4:24 p.m. UTC
Log buffer entries that are too long for dump_log_buf()'s small
local buffer are:

* silently discarded when a single-line entry is too long;
  kmsg_dump_get_line() returns true but sets &len to 0.
* silently truncated to the last fitting new line when a multi-line
  entry is too long, e.g. register dumps from __show_regs(); this
  seems undetectable via the kmsg_dump API.

xmon_printf()'s internal buffer is already 1KB; enlarge
dump_log_buf()'s own buffer to match and make it statically
allocated. Verified that this allows complete printing of register
dumps on ppc64le with both CONFIG_PRINTK_TIME=y and
CONFIG_PRINTK_CALLER=y.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
---
 arch/powerpc/xmon/xmon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Ellerman June 6, 2021, 12:08 p.m. UTC | #1
On Fri, 14 May 2021 11:24:20 -0500, Nathan Lynch wrote:
> Log buffer entries that are too long for dump_log_buf()'s small
> local buffer are:
> 
> * silently discarded when a single-line entry is too long;
>   kmsg_dump_get_line() returns true but sets &len to 0.
> * silently truncated to the last fitting new line when a multi-line
>   entry is too long, e.g. register dumps from __show_regs(); this
>   seems undetectable via the kmsg_dump API.
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/xmon: make dumping log buffer contents more reliable
      https://git.kernel.org/powerpc/c/2cec178e35baf57d307c0982fd2e53055bd1e9bb

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index c8173e92f19d..f73c10869e64 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2975,7 +2975,7 @@  static void
 dump_log_buf(void)
 {
 	struct kmsg_dump_iter iter;
-	unsigned char buf[128];
+	static unsigned char buf[1024];
 	size_t len;
 
 	if (setjmp(bus_error_jmp) != 0) {