qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] vga: check the validation of memory addr whe


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH v3] vga: check the validation of memory addr when draw text
Date: Fri, 12 Jan 2018 14:13:35 +0100
User-agent: NeoMutt/20171215

On Thu, Jan 11, 2018 at 09:27:24PM +0800, linzhecheng wrote:
> Start a vm with qemu-kvm -enable-kvm -vnc :66 -smp 1 -m 1024 -hda
> redhat_5.11.qcow2  -device pcnet -vga cirrus,
> then use VNC client to connect to VM, and excute the code below in guest
> OS will lead to qemu crash:
> 
> int main()
>  {
>     iopl(3);
>     srand(time(NULL));
>     int a,b;
>     while(1){
>       a = rand()%0x100;
>       b = 0x3c0 + (rand()%0x20);
>         outb(a,b);
>     }
>     return 0;
> }
> 
> The above code is writing the registers of VGA randomly.
> We can write VGA CRT controller registers index 0x0C or 0x0D
> (which is the start address register) to modify the
> the display memory address of the upper left pixel
> or character of the screen. The address may be out of the
> range of vga ram. So we should check the validation of memory address
> when reading or writing it to avoid segfault.

Patch queued up.

thanks,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]