[PATCH] qxl: fix pre-save logic

Gerd Hoffmann posted 1 patch 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210910094203.3582378-1-kraxel@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>
hw/display/qxl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] qxl: fix pre-save logic
Posted by Gerd Hoffmann 2 years, 7 months ago
Oops.  Logic is backwards.

Fixes: 39b8a183e2f3 ("qxl: remove assert in qxl_pre_save.")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/610
Resolves: https://bugzilla.redhat.com//show_bug.cgi?id=2002907
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/display/qxl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 43482d4364ba..29c80b4289b7 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2252,7 +2252,7 @@ static int qxl_pre_save(void *opaque)
     } else {
         d->last_release_offset = (uint8_t *)d->last_release - ram_start;
     }
-    if (d->last_release_offset < d->vga.vram_size) {
+    if (d->last_release_offset >= d->vga.vram_size) {
         return 1;
     }
 
-- 
2.31.1


Re: [PATCH] qxl: fix pre-save logic
Posted by Marc-André Lureau 2 years, 7 months ago
On Fri, Sep 10, 2021 at 1:43 PM Gerd Hoffmann <kraxel@redhat.com> wrote:

> Oops.  Logic is backwards.
>
> Fixes: 39b8a183e2f3 ("qxl: remove assert in qxl_pre_save.")
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/610
> Resolves: https://bugzilla.redhat.com//show_bug.cgi?id=2002907
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>

Argh..
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  hw/display/qxl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 43482d4364ba..29c80b4289b7 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -2252,7 +2252,7 @@ static int qxl_pre_save(void *opaque)
>      } else {
>          d->last_release_offset = (uint8_t *)d->last_release - ram_start;
>      }
> -    if (d->last_release_offset < d->vga.vram_size) {
> +    if (d->last_release_offset >= d->vga.vram_size) {
>          return 1;
>      }
>
> --
> 2.31.1
>
>
>

-- 
Marc-André Lureau
Re: [PATCH] qxl: fix pre-save logic
Posted by Daniel P. Berrangé 2 years, 7 months ago
On Fri, Sep 10, 2021 at 11:42:03AM +0200, Gerd Hoffmann wrote:
> Oops.  Logic is backwards.
> 
> Fixes: 39b8a183e2f3 ("qxl: remove assert in qxl_pre_save.")

Urgh, I looked at that commit yesterday several times and
was blind to the bug too !

> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/610
> Resolves: https://bugzilla.redhat.com//show_bug.cgi?id=2002907
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  hw/display/qxl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index 43482d4364ba..29c80b4289b7 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -2252,7 +2252,7 @@ static int qxl_pre_save(void *opaque)
>      } else {
>          d->last_release_offset = (uint8_t *)d->last_release - ram_start;
>      }
> -    if (d->last_release_offset < d->vga.vram_size) {
> +    if (d->last_release_offset >= d->vga.vram_size) {
>          return 1;
>      }
>  
> -- 
> 2.31.1
> 
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|