qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] vmware_vga: Redraw only visible area


From: Marek Vasut
Subject: Re: [Qemu-devel] [PATCH] vmware_vga: Redraw only visible area
Date: Mon, 17 Sep 2012 12:15:27 +0200
User-agent: KMail/1.13.7 (Linux/3.4-trunk-amd64; KDE/4.8.4; x86_64; ; )

Dear Michael Tokarev,

> On 17.09.2012 00:36, Marek Vasut wrote:
> >> Dear Michael Tokarev,
> > 
> > Bump? Did this lead anywhere? Do you need updated patch?
> 
> This didn't lead to anywhere.  I just pointed out that we
> have similar issue and somewhat similar change, and it
> weren't sufficient.  I don't know this code, and have no
> idea who does, either.

So what do we do? I'll try to investigate a bit more, all right?

> Thanks,
> 
> /mjt
> 
> >>> On 17.08.2012 06:55, Marek Vasut wrote:
> >>>> Disallow negative value boundaries of the redraw rectangle.
> >>>> This fixes a segfault when using -vga vmware.
> >>>> 
> >>>> Signed-off-by: Marek Vasut <address@hidden>
> >>>> ---
> >>>> 
> >>>>  hw/vmware_vga.c |    4 ++--
> >>>>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>>> 
> >>>> NOTE: I tested this by emulating some recent version of ubuntu. The
> >>>> rect->x
> >>>> 
> >>>>       value was set to -65 for some reason at one point, which caused
> >>>>       the kvm to crash. Trimming the rectangle fixed the issue.
> >>>> 
> >>>> diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
> >>>> index f5e4f44..62e5887 100644
> >>>> --- a/hw/vmware_vga.c
> >>>> +++ b/hw/vmware_vga.c
> >>>> @@ -337,8 +337,8 @@ static inline void
> >>>> vmsvga_update_rect_delayed(struct vmsvga_state_s *s,
> >>>> 
> >>>>  {
> >>>>  
> >>>>      struct vmsvga_rect_s *rect = &s->redraw_fifo[s->redraw_fifo_last
> >>>>      ++]; s->redraw_fifo_last &= REDRAW_FIFO_LEN - 1;
> >>>> 
> >>>> -    rect->x = x;
> >>>> -    rect->y = y;
> >>>> +    rect->x = (x < 0) ? 0 : x;
> >>>> +    rect->y = (y < 0) ? 0 : y;
> >>>> 
> >>>>      rect->w = w;
> >>>>      rect->h = h;
> >>>>  
> >>>>  }
> >>> 
> >>> Is it the same as https://bugs.launchpad.net/bugs/918791 ?
> >>> At least it appears to be the same theme...  But there,
> >>> the patch (https://launchpadlibrarian.net/94916786/qemu-vmware.debdiff)
> >>> also updates width/height.  My comment:
> >>> https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/918791/comments
> >>> /2 1
> >> 
> >> Looks to be the same ... though my patch tries to squash the issue as
> >> early as possible.
> >> 
> >> You're right that x and y might overflow to the other side too. Also,
> >> you're right about w and h.
> >> 
> >> Shall I send updated patch?
> >> 
> >>> "So indeed, some (upstream) verification is needed here -- where these
> >>> negative values are coming from, whenever it is EVER okay to have them,
> >>> what to do with these, and where to check (I guess the check should be
> >>> done somewhere in the upper layer)."
> >>> 
> >>> Especially the last part about the layer.
> >> 
> >> Where's the upper layer though, isn't that what's pouring out of the
> >> virtual machine itself?
> >> 
> >>> Thanks,
> >> 
> >> Thank you for guidance !
> >> 
> >>> /mjt
> >> 
> >> Best regards,
> >> Marek Vasut
> > 
> > Best regards,
> > Marek Vasut



reply via email to

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