* [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match @ 2015-08-06 15:36 Leo Grange 2015-09-17 16:18 ` Léo Grange 0 siblings, 1 reply; 8+ messages in thread From: Leo Grange @ 2015-08-06 15:36 UTC (permalink / raw) To: qemu-trivial; +Cc: Leo Grange, kraxel Spice surface_switch fast-path was checking only width/height matching, which leads to a crash when surface bpp has been increased but size didn't change (and probably other issues if bpp has been decreased). Signed-off-by: Leo Grange <grangeleo@gmail.com> --- ui/spice-display.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/spice-display.c b/ui/spice-display.c index 0360abf..d1e0972 100644 --- a/ui/spice-display.c +++ b/ui/spice-display.c @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, SimpleSpiceUpdate *update; bool need_destroy; - if (surface && ssd->surface && + if (surface && ssd->surface && ssd->ds && surface_width(surface) == pixman_image_get_width(ssd->surface) && - surface_height(surface) == pixman_image_get_height(ssd->surface)) { - /* no-resize fast path: just swap backing store */ + surface_height(surface) == pixman_image_get_height(ssd->surface) && + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { + /* no-resize and no bpp change fast path: just swap backing store */ dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, surface_width(surface), surface_height(surface)); qemu_mutex_lock(&ssd->lock); -- 2.5.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match 2015-08-06 15:36 [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match Leo Grange @ 2015-09-17 16:18 ` Léo Grange 2015-09-22 7:41 ` [Qemu-devel] " Michael Tokarev 0 siblings, 1 reply; 8+ messages in thread From: Léo Grange @ 2015-09-17 16:18 UTC (permalink / raw) To: qemu-trivial, mjt Ping, as I had no feedback about this small patch. Please tell me if I need to do anything else. 2015-08-06 17:36 GMT+02:00 Leo Grange <grangeleo@gmail.com>: > Spice surface_switch fast-path was checking only width/height matching, > which leads to a crash when surface bpp has been increased but size > didn't change (and probably other issues if bpp has been decreased). > > Signed-off-by: Leo Grange <grangeleo@gmail.com> > --- > ui/spice-display.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/ui/spice-display.c b/ui/spice-display.c > index 0360abf..d1e0972 100644 > --- a/ui/spice-display.c > +++ b/ui/spice-display.c > @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, > SimpleSpiceUpdate *update; > bool need_destroy; > > - if (surface && ssd->surface && > + if (surface && ssd->surface && ssd->ds && > surface_width(surface) == pixman_image_get_width(ssd->surface) && > - surface_height(surface) == pixman_image_get_height(ssd->surface)) { > - /* no-resize fast path: just swap backing store */ > + surface_height(surface) == pixman_image_get_height(ssd->surface) && > + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { > + /* no-resize and no bpp change fast path: just swap backing store */ > dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, > surface_width(surface), surface_height(surface)); > qemu_mutex_lock(&ssd->lock); > -- > 2.5.0 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match 2015-09-17 16:18 ` Léo Grange @ 2015-09-22 7:41 ` Michael Tokarev 0 siblings, 0 replies; 8+ messages in thread From: Michael Tokarev @ 2015-09-22 7:41 UTC (permalink / raw) To: Léo Grange, qemu-trivial; +Cc: qemu-devel 17.09.2015 19:18, Léo Grange wrote: > Ping, as I had no feedback about this small patch. > Please tell me if I need to do anything else. Hello! I've seen initial version of your patch, thought it isn't exactly trivial ;), and hoped someone will comment. Only now I realized you sent it to -trivial but not to -devel, so there's no one to comment on it. Please don't do this, always include qemu-devel when sending patches, so a patch will have a chance to be reviewed. I've added qemu-devel to Cc now. Here, I _think_ the patch is okay, but it'd be better for it to have some review still. Thanks, /mjt > 2015-08-06 17:36 GMT+02:00 Leo Grange <grangeleo@gmail.com>: >> Spice surface_switch fast-path was checking only width/height matching, >> which leads to a crash when surface bpp has been increased but size >> didn't change (and probably other issues if bpp has been decreased). >> >> Signed-off-by: Leo Grange <grangeleo@gmail.com> >> --- >> ui/spice-display.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/ui/spice-display.c b/ui/spice-display.c >> index 0360abf..d1e0972 100644 >> --- a/ui/spice-display.c >> +++ b/ui/spice-display.c >> @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, >> SimpleSpiceUpdate *update; >> bool need_destroy; >> >> - if (surface && ssd->surface && >> + if (surface && ssd->surface && ssd->ds && >> surface_width(surface) == pixman_image_get_width(ssd->surface) && >> - surface_height(surface) == pixman_image_get_height(ssd->surface)) { >> - /* no-resize fast path: just swap backing store */ >> + surface_height(surface) == pixman_image_get_height(ssd->surface) && >> + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { >> + /* no-resize and no bpp change fast path: just swap backing store */ >> dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, >> surface_width(surface), surface_height(surface)); >> qemu_mutex_lock(&ssd->lock); >> -- >> 2.5.0 >> > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH][TRIVIAL] spice: fix checking for surface bpp match @ 2015-09-22 7:41 ` Michael Tokarev 0 siblings, 0 replies; 8+ messages in thread From: Michael Tokarev @ 2015-09-22 7:41 UTC (permalink / raw) To: Léo Grange, qemu-trivial; +Cc: qemu-devel 17.09.2015 19:18, Léo Grange wrote: > Ping, as I had no feedback about this small patch. > Please tell me if I need to do anything else. Hello! I've seen initial version of your patch, thought it isn't exactly trivial ;), and hoped someone will comment. Only now I realized you sent it to -trivial but not to -devel, so there's no one to comment on it. Please don't do this, always include qemu-devel when sending patches, so a patch will have a chance to be reviewed. I've added qemu-devel to Cc now. Here, I _think_ the patch is okay, but it'd be better for it to have some review still. Thanks, /mjt > 2015-08-06 17:36 GMT+02:00 Leo Grange <grangeleo@gmail.com>: >> Spice surface_switch fast-path was checking only width/height matching, >> which leads to a crash when surface bpp has been increased but size >> didn't change (and probably other issues if bpp has been decreased). >> >> Signed-off-by: Leo Grange <grangeleo@gmail.com> >> --- >> ui/spice-display.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/ui/spice-display.c b/ui/spice-display.c >> index 0360abf..d1e0972 100644 >> --- a/ui/spice-display.c >> +++ b/ui/spice-display.c >> @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, >> SimpleSpiceUpdate *update; >> bool need_destroy; >> >> - if (surface && ssd->surface && >> + if (surface && ssd->surface && ssd->ds && >> surface_width(surface) == pixman_image_get_width(ssd->surface) && >> - surface_height(surface) == pixman_image_get_height(ssd->surface)) { >> - /* no-resize fast path: just swap backing store */ >> + surface_height(surface) == pixman_image_get_height(ssd->surface) && >> + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { >> + /* no-resize and no bpp change fast path: just swap backing store */ >> dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, >> surface_width(surface), surface_height(surface)); >> qemu_mutex_lock(&ssd->lock); >> -- >> 2.5.0 >> > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match 2015-09-22 7:41 ` [Qemu-devel] " Michael Tokarev @ 2015-10-29 8:10 ` Michael Tokarev -1 siblings, 0 replies; 8+ messages in thread From: Michael Tokarev @ 2015-10-29 8:10 UTC (permalink / raw) To: Léo Grange, qemu-trivial; +Cc: qemu-devel, Gerd Hoffmann 22.09.2015 10:41, Michael Tokarev wrote: > 17.09.2015 19:18, Léo Grange wrote: >> Ping, as I had no feedback about this small patch. >> Please tell me if I need to do anything else. > > Hello! > > I've seen initial version of your patch, thought it isn't exactly trivial ;), > and hoped someone will comment. Only now I realized you sent it to -trivial > but not to -devel, so there's no one to comment on it. Please don't do this, > always include qemu-devel when sending patches, so a patch will have a > chance to be reviewed. I've added qemu-devel to Cc now. > > Here, I _think_ the patch is okay, but it'd be better for it to have some > review still. Gerd, Cc'ing you this time, can you please take a look at this patch? Thanks, /mjt >> 2015-08-06 17:36 GMT+02:00 Leo Grange <grangeleo@gmail.com>: >>> Spice surface_switch fast-path was checking only width/height matching, >>> which leads to a crash when surface bpp has been increased but size >>> didn't change (and probably other issues if bpp has been decreased). >>> >>> Signed-off-by: Leo Grange <grangeleo@gmail.com> >>> --- >>> ui/spice-display.c | 7 ++++--- >>> 1 file changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/ui/spice-display.c b/ui/spice-display.c >>> index 0360abf..d1e0972 100644 >>> --- a/ui/spice-display.c >>> +++ b/ui/spice-display.c >>> @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, >>> SimpleSpiceUpdate *update; >>> bool need_destroy; >>> >>> - if (surface && ssd->surface && >>> + if (surface && ssd->surface && ssd->ds && >>> surface_width(surface) == pixman_image_get_width(ssd->surface) && >>> - surface_height(surface) == pixman_image_get_height(ssd->surface)) { >>> - /* no-resize fast path: just swap backing store */ >>> + surface_height(surface) == pixman_image_get_height(ssd->surface) && >>> + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { >>> + /* no-resize and no bpp change fast path: just swap backing store */ >>> dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, >>> surface_width(surface), surface_height(surface)); >>> qemu_mutex_lock(&ssd->lock); >>> -- >>> 2.5.0 >>> >> > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH][TRIVIAL] spice: fix checking for surface bpp match @ 2015-10-29 8:10 ` Michael Tokarev 0 siblings, 0 replies; 8+ messages in thread From: Michael Tokarev @ 2015-10-29 8:10 UTC (permalink / raw) To: Léo Grange, qemu-trivial; +Cc: qemu-devel, Gerd Hoffmann 22.09.2015 10:41, Michael Tokarev wrote: > 17.09.2015 19:18, Léo Grange wrote: >> Ping, as I had no feedback about this small patch. >> Please tell me if I need to do anything else. > > Hello! > > I've seen initial version of your patch, thought it isn't exactly trivial ;), > and hoped someone will comment. Only now I realized you sent it to -trivial > but not to -devel, so there's no one to comment on it. Please don't do this, > always include qemu-devel when sending patches, so a patch will have a > chance to be reviewed. I've added qemu-devel to Cc now. > > Here, I _think_ the patch is okay, but it'd be better for it to have some > review still. Gerd, Cc'ing you this time, can you please take a look at this patch? Thanks, /mjt >> 2015-08-06 17:36 GMT+02:00 Leo Grange <grangeleo@gmail.com>: >>> Spice surface_switch fast-path was checking only width/height matching, >>> which leads to a crash when surface bpp has been increased but size >>> didn't change (and probably other issues if bpp has been decreased). >>> >>> Signed-off-by: Leo Grange <grangeleo@gmail.com> >>> --- >>> ui/spice-display.c | 7 ++++--- >>> 1 file changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/ui/spice-display.c b/ui/spice-display.c >>> index 0360abf..d1e0972 100644 >>> --- a/ui/spice-display.c >>> +++ b/ui/spice-display.c >>> @@ -406,10 +406,11 @@ void qemu_spice_display_switch(SimpleSpiceDisplay *ssd, >>> SimpleSpiceUpdate *update; >>> bool need_destroy; >>> >>> - if (surface && ssd->surface && >>> + if (surface && ssd->surface && ssd->ds && >>> surface_width(surface) == pixman_image_get_width(ssd->surface) && >>> - surface_height(surface) == pixman_image_get_height(ssd->surface)) { >>> - /* no-resize fast path: just swap backing store */ >>> + surface_height(surface) == pixman_image_get_height(ssd->surface) && >>> + surface_bits_per_pixel(surface) == surface_bits_per_pixel(ssd->ds)) { >>> + /* no-resize and no bpp change fast path: just swap backing store */ >>> dprint(1, "%s/%d: fast (%dx%d)\n", __func__, ssd->qxl.id, >>> surface_width(surface), surface_height(surface)); >>> qemu_mutex_lock(&ssd->lock); >>> -- >>> 2.5.0 >>> >> > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match 2015-10-29 8:10 ` [Qemu-devel] " Michael Tokarev @ 2015-10-29 9:27 ` Gerd Hoffmann -1 siblings, 0 replies; 8+ messages in thread From: Gerd Hoffmann @ 2015-10-29 9:27 UTC (permalink / raw) To: Michael Tokarev; +Cc: qemu-trivial, Léo Grange, qemu-devel On Do, 2015-10-29 at 11:10 +0300, Michael Tokarev wrote: > 22.09.2015 10:41, Michael Tokarev wrote: > > 17.09.2015 19:18, Léo Grange wrote: > >> Ping, as I had no feedback about this small patch. > >> Please tell me if I need to do anything else. > > > > Hello! > > > > I've seen initial version of your patch, thought it isn't exactly trivial ;), > > and hoped someone will comment. Only now I realized you sent it to -trivial > > but not to -devel, so there's no one to comment on it. Please don't do this, > > always include qemu-devel when sending patches, so a patch will have a > > chance to be reviewed. I've added qemu-devel to Cc now. > > > > Here, I _think_ the patch is okay, but it'd be better for it to have some > > review still. > > Gerd, Cc'ing you this time, can you please take a look at this patch? Obsolete, commit b2af43cc379e1d4c30d92af257bedebf0e3f618a fixes this (and a few more cases). cheers, Gerd ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH][TRIVIAL] spice: fix checking for surface bpp match @ 2015-10-29 9:27 ` Gerd Hoffmann 0 siblings, 0 replies; 8+ messages in thread From: Gerd Hoffmann @ 2015-10-29 9:27 UTC (permalink / raw) To: Michael Tokarev; +Cc: qemu-trivial, Léo Grange, qemu-devel On Do, 2015-10-29 at 11:10 +0300, Michael Tokarev wrote: > 22.09.2015 10:41, Michael Tokarev wrote: > > 17.09.2015 19:18, Léo Grange wrote: > >> Ping, as I had no feedback about this small patch. > >> Please tell me if I need to do anything else. > > > > Hello! > > > > I've seen initial version of your patch, thought it isn't exactly trivial ;), > > and hoped someone will comment. Only now I realized you sent it to -trivial > > but not to -devel, so there's no one to comment on it. Please don't do this, > > always include qemu-devel when sending patches, so a patch will have a > > chance to be reviewed. I've added qemu-devel to Cc now. > > > > Here, I _think_ the patch is okay, but it'd be better for it to have some > > review still. > > Gerd, Cc'ing you this time, can you please take a look at this patch? Obsolete, commit b2af43cc379e1d4c30d92af257bedebf0e3f618a fixes this (and a few more cases). cheers, Gerd ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-10-29 9:27 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-08-06 15:36 [Qemu-trivial] [PATCH][TRIVIAL] spice: fix checking for surface bpp match Leo Grange 2015-09-17 16:18 ` Léo Grange 2015-09-22 7:41 ` Michael Tokarev 2015-09-22 7:41 ` [Qemu-devel] " Michael Tokarev 2015-10-29 8:10 ` [Qemu-trivial] " Michael Tokarev 2015-10-29 8:10 ` [Qemu-devel] " Michael Tokarev 2015-10-29 9:27 ` [Qemu-trivial] " Gerd Hoffmann 2015-10-29 9:27 ` [Qemu-devel] " Gerd Hoffmann
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.