public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: matthew-lkml@newtoncomputing.co.uk
To: linux-kernel@vger.kernel.org
Cc: torvalds@osdl.org
Subject: [PATCH] Stop printk printing non-printable chars
Date: Fri, 18 Jun 2004 21:53:55 +0100	[thread overview]
Message-ID: <20040618205355.GA5286@newtoncomputing.co.uk> (raw)

Hi,

I have had problems recently with the output from dmesg. Somewhere in
the depths of ACPI (drivers/acpi/tables.c:104) the
header->asl_compiler_id contained non-printable characters, and it made
xterm stop displaying any more output. dmesg|less had to be used as less
filters out the duff chars.

The main problem seems to be in ACPI, but I don't see any reason for
printk to even consider printing _any_ non-printable characters at all.
It makes all characters out of the range 32..126 (except for newline)
print as a '?'.

Patch is for 2.6.7.

Matthew


--- linux-2.6.7/kernel/printk.c.orig	2004-06-18 20:44:28.000000000 +0100
+++ linux-2.6.7/kernel/printk.c	2004-06-18 20:53:36.000000000 +0100
@@ -14,6 +14,8 @@
  *     manfreds@colorfullife.com
  * Rewrote bits to get rid of console_lock
  *	01Mar01 Andrew Morton <andrewm@uow.edu.au>
+ * Stop emit_log_char from emitting non-ASCII chars.
+ *  Matthew Newton, 18 June 2004 <matthew-lkml@newtoncomputing.co.uk>
  */
 
 #include <linux/kernel.h>
@@ -538,7 +540,11 @@
 			}
 			log_level_unknown = 0;
 		}
-		emit_log_char(*p);
+		if (p[0] != '\n' && (p[0] < 32 || p[0] > 126)) {
+			emit_log_char('?');
+		} else {
+			emit_log_char(*p);
+		}
 		if (*p == '\n')
 			log_level_unknown = 1;
 	}



             reply	other threads:[~2004-06-18 20:58 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-18 20:53 matthew-lkml [this message]
2004-06-18 21:08 ` [PATCH] Stop printk printing non-printable chars Linus Torvalds
2004-06-18 22:44   ` Jesper Juhl
2004-06-18 23:52     ` matthew-lkml
2004-06-19  4:18       ` Willy Tarreau
2004-06-19 10:27         ` Matthias Urlichs
2004-06-19 23:00       ` Dave Jones
2004-06-19  1:23     ` Matthias Urlichs
2004-06-19  1:43       ` Jesper Juhl
2004-06-19 10:20         ` Matthias Urlichs
2004-06-18 21:32 ` Jan-Benedict Glaw
2004-06-18 21:58   ` Pekka Pietikainen
2004-06-19  0:03   ` matthew-lkml
2004-06-19  8:31     ` Jan-Benedict Glaw
2004-06-19 11:18 ` David Woodhouse
2004-06-19 15:49   ` matthew-lkml
2004-06-19 16:09     ` Arjan van de Ven
2004-06-20  2:19     ` Horst von Brand
2004-06-20 14:17     ` David Woodhouse
2004-06-20 20:06       ` Jeff Woods
  -- strict thread matches above, loose matches on Subject: below --
2004-06-19 20:12 Albert Cahalan
2004-06-19 22:56 ` Jan-Benedict Glaw
2004-06-20  4:02 Albert Cahalan
2004-06-20  8:38 ` David Woodhouse
2004-06-20  8:49 ` Jan-Benedict Glaw

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=20040618205355.GA5286@newtoncomputing.co.uk \
    --to=matthew-lkml@newtoncomputing.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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