* [PATCH] printk-times bugfix for loglevel-only printks
@ 2005-03-10 17:26 Tim Bird
0 siblings, 0 replies; only message in thread
From: Tim Bird @ 2005-03-10 17:26 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux kernel
Linus,
This patch fixes a bug with the recently added printk-times feature.
In the case where a printk consists of only the log level (followed
subsequently by printks with more text for the same line), the
printk-times code doesn't correctly recognize the end of the
string, and starts emitting chars at the 0 byte at the end of the
string.
The patch below fixes this problem. It also adjusts the handling
of printed_len in the routine, which was affected by the
printk-times feature.
Please apply. Thanks.
-- Tim Bird, Senior Software Engineer, Sony Electronics
diffstat:
printk.c | 5 +++++
1 files changed, 5 insertions(+)
Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Acked-by: Tony Luck <tony.luck@intel.com>
--------------------------------------
diff -pruN printk-1/kernel/printk.c printk-fix1/kernel/printk.c
--- printk-1/kernel/printk.c 2005-03-09 15:42:04.550944124 -0800
+++ printk-fix1/kernel/printk.c 2005-03-09 15:36:18.928567360 -0800
@@ -579,6 +579,7 @@ asmlinkage int vprintk(const char *fmt,
p[1] <= '7' && p[2] == '>') {
loglev_char = p[1];
p += 3;
+ printed_len += 3;
} else {
loglev_char = default_message_loglevel
+ '0';
@@ -593,6 +594,7 @@ asmlinkage int vprintk(const char *fmt,
for (tp = tbuf; tp < tbuf + tlen; tp++)
emit_log_char (*tp);
+ printed_len += tlen - 3;
} else {
if (p[0] != '<' || p[1] < '0' ||
p[1] > '7' || p[2] != '>') {
@@ -601,8 +603,11 @@ asmlinkage int vprintk(const char *fmt,
+ '0');
emit_log_char('>');
}
+ printed_len += 3;
}
log_level_unknown = 0;
+ if (!*p)
+ break;
}
emit_log_char(*p);
if (*p == '\n')
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-03-10 17:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-10 17:26 [PATCH] printk-times bugfix for loglevel-only printks Tim Bird
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.