[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5072DD92.2000305@cwi.nl>
Date: Mon, 08 Oct 2012 15:05:06 +0100
From: "Wouter M. Koolen" <W.M.Koolen-Wijkstra@....nl>
To: lkml <linux-kernel@...r.kernel.org>
CC: markus@...ppelsdorf.de, jim.cromie@...il.com,
torvalds@...ux-foundation.org, akpm@...ux-foundation.org,
jbaron@...hat.com, Greg KH <gregkh@...uxfoundation.org>
Subject: [bisected] stray angle bracket in dmesg
Hi guys,
After upgrading from 3.5.4 to 3.5.5 I started noticing log lines of the
form (just a random sample)
pci_bus 0000:00: >resource 4 [io 0x0000-0x0cf7]
pnp 00:07: >Plug and Play ACPI device, IDs PNP0303 (active)
system 00:04: >[io 0x0680-0x069f] has been reserved
pci_root PNP0A08:00: >host bridge window [io 0x0000-0x0cf7]
Note the right angle bracket between the device name and the message
string. These angle brackets were not there up till 3.5.4.
This does not happen in all dmesg lines. Only the ones that start with a
device identifier.
I assume this angle bracket was not intentional. Otherwise please excuse
the noise.
I noticed this because all of these lines now suddenly slip through my
logcheck ignore rules.
Bisection points to this commit:
commit 3d822616ca81881d8c19d0b473e79ba241c700de
Author: Markus Trippelsdorf <markus@...ppelsdorf.de>
Date: Sat Aug 18 18:35:51 2012 -0600
dyndbg: fix for SOH in logging messages
commit ebdc82899ec5ed35af1c79ed6a4eeda69dad9b90 upstream.
commit af7f2158fde was done against master, and clashed with structured
logging's change of KERN_LEVEL to SOH.
Bisected and fixed by Markus Trippelsdorf.
Reported-by: Markus Trippelsdorf <markus@...ppelsdorf.de>
Signed-off-by: Jim Cromie <jim.cromie@...il.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Jason Baron <jbaron@...hat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
diff --git a/drivers/base/core.c b/drivers/base/core.c
index b18138a..c598122 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1895,8 +1895,8 @@ int __dev_printk(const char *level, const struct
device *dev,
"DEVICE=+%s:%s", subsys,
dev_name(dev));
}
skip:
- if (level[3])
- level_extra = &level[3]; /* skip past "<L>" */
+ if (level[2])
+ level_extra = &level[2]; /* skip past KERN_SOH "L" */
return printk_emit(0, level[1] - '0',
dictlen ? dict : NULL, dictlen,
That seems plausible, since it changes __dev_printk. Could there be some
off-by-one here?
With kind regards,
Wouter Koolen
View attachment ".config" of type "text/plain" (80158 bytes)
Powered by blists - more mailing lists