Re: [PATCH] hw: cirrus_vga: mask 'off_begin' in cirrus_invalidate_region()

2020-08-21 Thread Gerd Hoffmann
> This patch fixes this. > --- a/hw/display/cirrus_vga.c > +++ b/hw/display/cirrus_vga.c > @@ -644,7 +644,7 @@ static void cirrus_invalidate_region(CirrusVGAState * s, > int off_begin, > off_cur_end = ((off_cur + bytesperline - 1) & s->cirrus_addr_mask) + > 1; > assert(off_cur_

[PATCH] hw: cirrus_vga: mask 'off_begin' in cirrus_invalidate_region()

2020-08-20 Thread Li Qiang
In the while loop of cirrus_invalidate_region() the 'off_begin' increases every loop. It may be greater than 's->cirrus_addr_mask' thus trigger the assert in the loop. Following reproducer is provied in: -->https://bugs.launchpad.net/qemu/+bug/1880189 qemu-system-i386 -M isapc,accel=qtest -vga c