On 18.01.2018 16:33, Paolo Bonzini wrote:
> On 18/01/2018 15:50, Peter Maydell wrote:
>> On 18 January 2018 at 14:46, Paolo Bonzini <pbonz...@redhat.com> wrote:
>>> On 18/01/2018 15:12, Daniel P. Berrange wrote:
>>>>> In addition to that, do we support a >= 2 GiB framebuffer at all? (Even
>>>>> with unsigned ints, Coverity would rightly complain about a truncated
>>>>> 32-bit multiplication being assigned to a 64-bit value).
>>>> client_width/client_height are values that are initialized from the
>>>> graphics card frontend config, and thus limited by amount of video
>>>> RAM QEMU allows.   bytes_per_pixel is limited to 8/16/32.
>>>>
>>>> So I think we're safe from 2GB overflow in any normal case.
>>>>
>>>> That said, VGA RAM size is configurable, so I'm curious what would happen
>>>> if someone configured an insanely large VGA RAM and asked for a big frame
>>>> buffer in guest.
>>>>
>>>> VNC is protocol limited to uint16 for width/height size, and so is X11
>>>> so I imagine some exploding behavour would follow :-)
>>>
>>> Indeed, and even 2^16 x 2^16 * 32bpp is already 34 bits.  So perhaps we
>>> should limit VNC to 16384 pixels on each axis (maximum frame buffer size
>>> 1 GiB).
>>
>> Google says you can already get graphics cards that can do 15360x8640,
>> which is really quite close to that 16384 limit...
> 
> Then we can do 32767 * 16384 * 4, but I'm a bit afraid of off-by-ones.

Simply limit it to 30000 * 20000 ?

 Thomas

Reply via email to