Thread (28 messages) flat view 28 messages, 3 authors, 2012-06-06

[PATCH 0/8] Rework KERN_<LEVEL>

From: Kay Sievers <hidden>
Date: 2012-06-06 00:13:47
Also in: alsa-devel, linux-btrfs, lkml

On Wed, Jun 6, 2012 at 2:07 AM, Joe Perches [off-list ref] wrote:
On Tue, 2012-06-05 at 16:58 -0700, Andrew Morton wrote:
quoted
?echo "\0014Hello Joe" > /dev/kmsg
# echo -e "\x014Hello Me" > /dev/kmsg
gives:
12,778,4057982669;Hello Me

#echo -e "\x011Hello Me_2" > /dev/kmsg
gives:
12,779,4140452093;Hello Me_2

I didn't change devkmsg_writev so the
original parsing style for "<.>" is
unchanged.

from printk.c:

static ssize_t devkmsg_writev(struct kiocb *iocb, const struct iovec *iv,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?unsigned long count, loff_t pos)
[...]
? ? ? ?int level = default_message_loglevel;
[...]
? ? ? ?if (line[0] == '<') {
? ? ? ? ? ? ? ?char *endp = NULL;

? ? ? ? ? ? ? ?i = simple_strtoul(line+1, &endp, 10);
? ? ? ? ? ? ? ?if (endp && endp[0] == '>') {
? ? ? ? ? ? ? ? ? ? ? ?level = i & 7;
? ? ? ? ? ? ? ? ? ? ? ?if (i >> 3)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?facility = i >> 3;
? ? ? ? ? ? ? ? ? ? ? ?endp++;
? ? ? ? ? ? ? ? ? ? ? ?len -= endp - line;
? ? ? ? ? ? ? ? ? ? ? ?line = endp;
? ? ? ? ? ? ? ?}
? ? ? ?}
? ? ? ?line[len] = '\0';

? ? ? ?printk_emit(facility, level, NULL, 0, "%s", line);
[]

level is what matters.

from dmesg -r

<12>[ 2462.339252] \001Hello Andrew
<9>[ 2516.023444] Hello Andrew
<12>[ 3046.752764] \x01Hello Kay
<12>[ 3940.871850] \x01Hello Kay
<12>[ 4057.982669] Hello Me
<12>[ 4140.452093] Hello Me_2
The question is what happens if you inject your new binary two-byte
prefix, like:
  echo -e "\x01\x02Hello" > /dev/kmsg

And if that changes the log-level to "2" instead of the default "4"?

(assuming that I read your patch right, otherwise please correct the
bytes, but use the full sequence which your patch will recognize as an
internal level marker; seems your examples are all not triggering that)

Kay
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help