All of lore.kernel.org
 help / color / mirror / Atom feed
From: Asias He <asias.hejun@gmail.com>
To: walimis <walimisdev@gmail.com>
Cc: Pekka Enberg <penberg@kernel.org>,
	Cyrill Gorcunov <gorcunov@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	Sasha Levin <levinsasha928@gmail.com>,
	Prasad Joshi <prasadjoshi124@gmail.com>,
	kvm@vger.kernel.org
Subject: Re: [PATCH] kvm tools: Sanitize output characters in serial console
Date: Wed, 10 Aug 2011 16:31:47 +0800	[thread overview]
Message-ID: <4E4241F3.5000607@gmail.com> (raw)
In-Reply-To: <20110810065339.GF16258@walimis-desktop>

On 08/10/2011 02:53 PM, walimis wrote:
> On Wed, Aug 10, 2011 at 02:15:45PM +0800, Asias He wrote:
>> On 08/10/2011 01:55 PM, Pekka Enberg wrote:
>>> On Wed, Aug 10, 2011 at 8:43 AM, Asias He <asias.hejun@gmail.com> wrote:
>>>> On 08/10/2011 01:30 PM, Pekka Enberg wrote:
>>>>> On 8/10/11 2:56 AM, Asias He wrote:
>>>>>> This patch fixes strange characters in serial console.
>>>>>>
>>>>>> Before:
>>>>>>
>>>>>> [    0.448000] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>>>>>> �[    0.695000] serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
>>>>>> �[    0.942000] serial8250: ttyS1 at I/O 0x2f8 (irq = 0) is a 16550A
>>>>>> �[    1.189000] serial8250: ttyS2 at I/O 0x3e8 (irq = 0) is a 16550A
>>>>>> [    1.194000] Non-volatile memory driver v1.3
>>>>>>
>>>>>> After:
>>>>>>
>>>>>> [    0.541000] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>>>>>> [    0.788000] serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
>>>>>> [    1.041000] serial8250: ttyS1 at I/O 0x2f8 (irq = 0) is a 16550A
>>>>>> [    1.294000] serial8250: ttyS2 at I/O 0x3e8 (irq = 0) is a 16550A
>>>>>> [    1.309000] Non-volatile memory driver v1.3
>>>>>>
>>>>>> Signed-off-by: Asias He<asias.hejun@gmail.com>
>>>>>> ---
>>>>>>   tools/kvm/term.c |    7 +++++--
>>>>>>   1 files changed, 5 insertions(+), 2 deletions(-)
>>>>>>
>>>>>> diff --git a/tools/kvm/term.c b/tools/kvm/term.c
>>>>>> index 2a3e1f0..85b41e7 100644
>>>>>> --- a/tools/kvm/term.c
>>>>>> +++ b/tools/kvm/term.c
>>>>>> @@ -5,6 +5,7 @@
>>>>>>   #include<unistd.h>
>>>>>>   #include<sys/uio.h>
>>>>>>   #include<signal.h>
>>>>>> +#include<ctype.h>
>>>>>>
>>>>>>   #include "kvm/read-write.h"
>>>>>>   #include "kvm/term.h"
>>>>>> @@ -57,8 +58,10 @@ int term_putc(int who, char *addr, int cnt)
>>>>>>       if (who != active_console)
>>>>>>           return -1;
>>>>>>
>>>>>> -    while (cnt--)
>>>>>> -        fprintf(stdout, "%c", *addr++);
>>>>>> +    while (cnt--) {
>>>>>> +        if (isascii(*addr))
>>>>>
>>>>> Do things like backspace still work with this?
>>>>
>>>> Sure. Have a try ;-)
>>>>
>>>> http://en.wikipedia.org/wiki/ASCII
>>>
>>> OK, cool. Do we know what the extra characters are and why the guest
>>> is sending them?
> I think the reason is not important here. I use qemu to test
> and it also outputs that extra characters. They seem to be outputted by
> driver or kernel of guest os.
> 
> It's not sane to change the output of guest os. Suppose if we just 
> want to see what "cat /dev/urandom" prints, then only 
> allow ascii characters to be outputted? I think that's not what we expect.


This is a good reason why we should not only allow ascii to be printed.

Anyway, this is really annoying. Maybe it is a serial driver bug?

> 
> walimis
>>>
>>
>>
>> This tells us
>>
>>        while (cnt--) {
>>               if (isascii(*addr))
>>                       fprintf(stdout, "%c", *addr++);
>>               else
>>                       fprintf(stdout, "\n---%x---\n", *addr++);
>>        }
>>
>> the extra chars is 0xff.
>>
>> The reason is not understood.
>>
>> -- 
>> Best Regards,
>> Asias He
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
Best Regards,
Asias He

  parent reply	other threads:[~2011-08-10  8:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-09 23:56 [PATCH] kvm tools: Sanitize output characters in serial console Asias He
2011-08-10  5:30 ` Pekka Enberg
2011-08-10  5:43   ` Asias He
2011-08-10  5:55     ` Pekka Enberg
2011-08-10  6:15       ` Asias He
2011-08-10  6:53         ` walimis
2011-08-10  7:22           ` Amos Kong
2011-08-10  8:31           ` Asias He [this message]
2011-08-10  9:19             ` Pekka Enberg
2011-08-10  7:01         ` Sasha Levin
2011-08-11  8:36 ` Avi Kivity

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=4E4241F3.5000607@gmail.com \
    --to=asias.hejun@gmail.com \
    --cc=gorcunov@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=prasadjoshi124@gmail.com \
    --cc=walimisdev@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.