diff --git a/[refs] b/[refs] index 817b41c8d5a3..224ef4612875 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e3f5a5f27153228569f3396049838e9727dae86e +refs/heads/master: 43a73a50b352cd3df25b3ced72033942a6a0f919 diff --git a/trunk/kernel/printk.c b/trunk/kernel/printk.c index 505863aa3a7f..37cde752cb8a 100644 --- a/trunk/kernel/printk.c +++ b/trunk/kernel/printk.c @@ -818,15 +818,18 @@ static size_t print_time(u64 ts, char *buf) static size_t print_prefix(const struct log *msg, bool syslog, char *buf) { size_t len = 0; + unsigned int prefix = (msg->facility << 3) | msg->level; if (syslog) { if (buf) { - len += sprintf(buf, "<%u>", msg->level); + len += sprintf(buf, "<%u>", prefix); } else { len += 3; - if (msg->level > 9) - len++; - if (msg->level > 99) + if (prefix > 999) + len += 3; + else if (prefix > 99) + len += 2; + else if (prefix > 9) len++; } }