lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ