linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Kay Sievers <kay@vrfy.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org,
	devel@driverdev.osuosl.org, alsa-devel@alsa-project.org
Subject: [PATCH 9/8] printk: Only look for prefix levels in kernel messages
Date: Tue, 05 Jun 2012 20:04:02 -0700	[thread overview]
Message-ID: <1338951842.11962.41.camel@joe2Laptop> (raw)
In-Reply-To: <CAPXgP11DA2z2y4kR8C+AGtrd_-8=2Cy0jj3GX7T5JqczNke4GQ@mail.gmail.com>

vprintk_emit prefix parsing should only be done for internal
kernel messages.  This allows existing behavior to be kept
in all cases.

Signed-off-by: Joe Perches <joe@perches.com>
---
 kernel/printk.c |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/kernel/printk.c b/kernel/printk.c
index 5cd73f7..4e72c07 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1267,7 +1267,6 @@ asmlinkage int vprintk_emit(int facility, int level,
 	static char cont_buf[LOG_LINE_MAX];
 	static size_t cont_len;
 	static int cont_level;
-	int kern_level;
 	static struct task_struct *cont_task;
 	static char textbuf[LOG_LINE_MAX];
 	char *text = textbuf;
@@ -1329,21 +1328,24 @@ asmlinkage int vprintk_emit(int facility, int level,
 		newline = true;
 	}
 
-	/* strip syslog prefix and extract log level or control flags */
-	kern_level = printk_get_level(text);
-	if (kern_level) {
-		const char *end_of_header = printk_skip_level(text);
-		switch (kern_level) {
-		case '0' ... '7':
-			if (level == -1)
-				level = kern_level - '0';
-		case 'd':	/* KERN_DEFAULT */
-			prefix = true;
-		case 'c':	/* KERN_CONT */
-			break;
+	/* strip kernel syslog prefix and extract log level or control flags */
+	if (facility == 0) {
+		int kern_level = printk_get_level(text);
+
+		if (kern_level) {
+			const char *end_of_header = printk_skip_level(text);
+			switch (kern_level) {
+			case '0' ... '7':
+				if (level == -1)
+					level = kern_level - '0';
+			case 'd':	/* KERN_DEFAULT */
+				prefix = true;
+			case 'c':	/* KERN_CONT */
+				break;
+			}
+			text_len -= end_of_header - text;
+			text = (char *)end_of_header;
 		}
-		text_len -=  end_of_header - text;
-		text = (char *)end_of_header;
 	}
 
 	if (level == -1)



  parent reply	other threads:[~2012-06-06  3:04 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-05  9:46 [PATCH 0/8] Rework KERN_<LEVEL> Joe Perches
2012-06-05  9:46 ` [PATCH 4/8] btrfs: Use printk_get_level and printk_skip_level, add __printf, fix fallout Joe Perches
2012-06-05 21:28 ` [PATCH 0/8] Rework KERN_<LEVEL> Andrew Morton
2012-06-05 21:53   ` Kay Sievers
2012-06-05 22:11   ` Joe Perches
2012-06-05 22:17     ` Andrew Morton
2012-06-05 22:49       ` Joe Perches
2012-06-05 23:29         ` Andrew Morton
2012-06-05 23:35           ` Joe Perches
2012-06-05 23:39             ` Kay Sievers
2012-06-05 23:43               ` Joe Perches
2012-06-05 23:48                 ` Kay Sievers
2012-06-05 23:52                   ` Joe Perches
2012-06-05 23:58                     ` Andrew Morton
2012-06-06  0:07                       ` Joe Perches
2012-06-06  0:13                         ` Kay Sievers
2012-06-06  0:19                           ` Joe Perches
2012-06-06  0:28                             ` Kay Sievers
2012-06-06  0:37                               ` Joe Perches
2012-06-06  0:37                               ` Andrew Morton
2012-06-06  0:40                                 ` Joe Perches
2012-06-06  0:46                                   ` Andrew Morton
2012-06-06  1:10                                     ` Kay Sievers
2012-06-06  2:06                                       ` Joe Perches
2012-06-06  3:04                                       ` Joe Perches [this message]
2012-06-05 23:48               ` Joe Perches
2012-06-05 22:55   ` Kay Sievers
2012-06-05 23:09     ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1338951842.11962.41.camel@joe2Laptop \
    --to=joe@perches.com \
    --cc=akpm@linux-foundation.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=kay@vrfy.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).