9ae3a8
From 081ddf9d66155dbec8ec064d7671ba0799642fd6 Mon Sep 17 00:00:00 2001
9ae3a8
From: Gerd Hoffmann <kraxel@redhat.com>
9ae3a8
Date: Mon, 27 Mar 2017 10:01:22 +0200
9ae3a8
Subject: [PATCH 7/7] cirrus: fix off-by-one in
9ae3a8
 cirrus_bitblt_rop_bkwd_transp_*_16
9ae3a8
MIME-Version: 1.0
9ae3a8
Content-Type: text/plain; charset=UTF-8
9ae3a8
Content-Transfer-Encoding: 8bit
9ae3a8
9ae3a8
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
9ae3a8
Message-id: <1490608882-10242-8-git-send-email-kraxel@redhat.com>
9ae3a8
Patchwork-id: 74555
9ae3a8
O-Subject: [RHEL-7.4 qemu-kvm PATCH v2 7/7] cirrus: fix off-by-one in cirrus_bitblt_rop_bkwd_transp_*_16
9ae3a8
Bugzilla: 1430060
9ae3a8
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
9ae3a8
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
9ae3a8
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
9ae3a8
The switch from pointers to addresses (commit
9ae3a8
026aeffcb4752054830ba203020ed6eb05bcaba8 and
9ae3a8
ffaf857778286ca54e3804432a2369a279e73aa7) added
9ae3a8
a off-by-one bug to 16bit backward blits.  Fix.
9ae3a8
9ae3a8
Reported-by: 李强 <liqiang6-s@360.cn>
9ae3a8
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
9ae3a8
Reviewed-by: Li Qiang <liqiang6-s@360.cn>
9ae3a8
Message-id: 1489735296-19047-1-git-send-email-kraxel@redhat.com
9ae3a8
(cherry picked from commit f019722cbbb45aea153294fc8921fcc96a4d3fa2)
9ae3a8
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
---
9ae3a8
 hw/display/cirrus_vga_rop.h | 2 +-
9ae3a8
 1 file changed, 1 insertion(+), 1 deletion(-)
9ae3a8
9ae3a8
diff --git a/hw/display/cirrus_vga_rop.h b/hw/display/cirrus_vga_rop.h
9ae3a8
index 16dffb8..c1fc070 100644
9ae3a8
--- a/hw/display/cirrus_vga_rop.h
9ae3a8
+++ b/hw/display/cirrus_vga_rop.h
9ae3a8
@@ -220,7 +220,7 @@ glue(glue(cirrus_bitblt_rop_bkwd_transp_, ROP_NAME),_16)(CirrusVGAState *s,
9ae3a8
     srcpitch += bltwidth;
9ae3a8
     for (y = 0; y < bltheight; y++) {
9ae3a8
         for (x = 0; x < bltwidth; x+=2) {
9ae3a8
-            ROP_OP_TR_16(s, dstaddr, cirrus_src16(s, srcaddr), transp);
9ae3a8
+            ROP_OP_TR_16(s, dstaddr - 1, cirrus_src16(s, srcaddr - 1), transp);
9ae3a8
             dstaddr -= 2;
9ae3a8
             srcaddr -= 2;
9ae3a8
         }
9ae3a8
-- 
9ae3a8
1.8.3.1
9ae3a8