]> git.ipfire.org Git - thirdparty/util-linux.git/commit
dmesg: fix console-level off-by-one
authorBjørn Mork <bjorn@mork.no>
Mon, 1 Oct 2012 23:54:49 +0000 (01:54 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 2 Oct 2012 10:06:25 +0000 (12:06 +0200)
commit3b3d529e780b750e4aa4d887984f8f95d2da21b8
treed18619fe78c1007f259d3374984aec9dd477cfeb
parentfe3b18b51e418e5aae858a96d20f3d739e9e5a15
dmesg: fix console-level off-by-one

  commit f06ec64f dmesg; support level names (e.g. --console-level=alert)

introduced an off-by-one error.  The kernel will print messages with
a *higher* level than the console-level. The bug made it impossible to
set the level for debugging, like it is documented in e.g
Documentation/networking/netconsole.txt :

 nemi:/tmp# dmesg -n 8
 dmesg: unknown level '8'

And attempting to set the "emerg" level would result in an invalid 0 value:

 nemi:/tmp# dmesg -n emerg
 dmesg: klogctl failed: Invalid argument

Restoring the old behaviour for numeric levels, and mapping the level
names so that "dmesg -n debug" behaves as expected: logging everything
at level "debug" and higher.

[kzak@redhat.com: - add comment to parse_level()]

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/dmesg.c