[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3ca9b50e-b297-8995-c93c-e56fb91c3a47@infradead.org>
Date: Fri, 8 Dec 2017 10:19:23 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: LKML <linux-kernel@...r.kernel.org>,
kgdb-bugreport@...ts.sourceforge.net
Cc: Jason Wessel <jason.wessel@...driver.com>,
Daniel Thompson <daniel.thompson@...aro.org>
Subject: [PATCH 2/3] kdb: drop newline in unknown command output
From: Randy Dunlap <rdunlap@...radead.org>
When an unknown command is entered, kdb prints "Unknown kdb command:"
and then the unknown text, including the newline character. This
causes the ending single-quote mark to be printed on the next line
by itself, so just change the ending newline character to a null
character (end of string) so that it won't be "printed."
Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
Cc: Daniel Thompson <daniel.thompson@...aro.org>
Cc: Jason Wessel <jason.wessel@...driver.com>
Cc: kgdb-bugreport@...ts.sourceforge.net
---
kernel/debug/kdb/kdb_main.c | 11 +++++++++++
1 file changed, 11 insertions(+)
--- lnx-415-rc1.orig/kernel/debug/kdb/kdb_main.c
+++ lnx-415-rc1/kernel/debug/kdb/kdb_main.c
@@ -1150,6 +1150,16 @@ void kdb_set_current_task(struct task_st
kdb_current_regs = NULL;
}
+static void drop_newline(char *buf)
+{
+ size_t len = strlen(buf);
+
+ if (len == 0)
+ return;
+ if (*(buf + len - 1) == '\n')
+ *(buf + len - 1) = '\0';
+}
+
/*
* kdb_local - The main code for kdb. This routine is invoked on a
* specific processor, it is not global. The main kdb() routine
@@ -1327,6 +1337,7 @@ do_full_getstr:
cmdptr = cmd_head;
diag = kdb_parse(cmdbuf);
if (diag == KDB_NOTFOUND) {
+ drop_newline(cmdbuf);
kdb_printf("Unknown kdb command: '%s'\n", cmdbuf);
diag = 0;
}
Powered by blists - more mailing lists