From: "Andreas Färber" <afaerber@suse.de>
To: arei.gonglei@huawei.com, qemu-devel@nongnu.org, kraxel@redhat.com
Cc: blauwirbel@gmail.com, pbonzini@redhat.com, mjt@tls.msk.ru,
weidong.huang@huawei.com, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3] cirrus_vga: adding sanity check for vram size
Date: Mon, 12 May 2014 11:06:47 +0200 [thread overview]
Message-ID: <53708F27.8040703@suse.de> (raw)
In-Reply-To: <1399878638-11292-1-git-send-email-arei.gonglei@huawei.com>
Am 12.05.2014 09:10, schrieb arei.gonglei@huawei.com:
> From: Gonglei <arei.gonglei@huawei.com>
>
> when configure a invalid vram size for cirrus card, such as less
> 2 MB, which will crash qemu. Follow the real hardware, the cirrus
> card has 4 MB video memory. Also for backward compatibility, accept
> 8 MB and 16 MB vram size.
>
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> ---
> v3:
> - fix logic bug pointed out by Michael Tokarev
> - add the same restriction for ISA cirrus device, thanks Andreas
> v2:
> - fix checkpatch fails.
> "WARNING: suspect code indent for conditional statements (5, 9)"
> maybe not a real warning.
>
> hw/display/cirrus_vga.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
Thanks,
Reviewed-by: Andreas Färber <afaerber@suse.de>
> diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
> index d1afc76..ca0d786 100644
> --- a/hw/display/cirrus_vga.c
> +++ b/hw/display/cirrus_vga.c
> @@ -2913,6 +2913,14 @@ static void isa_cirrus_vga_realizefn(DeviceState *dev, Error **errp)
> ISACirrusVGAState *d = ISA_CIRRUS_VGA(dev);
> VGACommonState *s = &d->cirrus_vga.vga;
>
> + /* follow real hardware, cirrus card emulated has 4 MB video memory.
> + Also accept 8 MB/16 MB for backward compatibility. */
> + if (s->vram_size_mb != 4 && s->vram_size_mb != 8 &&
> + s->vram_size_mb != 16) {
> + error_setg(errp, "Invalid cirrus_vga ram size '%u'",
> + s->vram_size_mb);
> + return;
> + }
> vga_common_init(s, OBJECT(dev), true);
> cirrus_init_common(&d->cirrus_vga, OBJECT(dev), CIRRUS_ID_CLGD5430, 0,
> isa_address_space(isadev),
> @@ -2959,6 +2967,14 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
> PCIDeviceClass *pc = PCI_DEVICE_GET_CLASS(dev);
> int16_t device_id = pc->device_id;
>
> + /* follow real hardware, cirrus card emulated has 4 MB video memory.
> + Also accept 8 MB/16 MB for backward compatibility. */
This line looks off by one, maybe Gerd can edit before applying?
Note that in general
/*
*
*/
comment style is preferred (stars on each line) but I don't spot a hard
requirement in CODING_STYLE or HACKING. :)
Cheers,
Andreas
> + if (s->vga.vram_size_mb != 4 && s->vga.vram_size_mb != 8 &&
> + s->vga.vram_size_mb != 16) {
> + error_report("Invalid cirrus_vga ram size '%u'",
> + s->vga.vram_size_mb);
> + return -1;
> + }
> /* setup VGA */
> vga_common_init(&s->vga, OBJECT(dev), true);
> cirrus_init_common(s, OBJECT(dev), device_id, 1, pci_address_space(dev),
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2014-05-12 9:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-12 7:10 [Qemu-devel] [PATCH v3] cirrus_vga: adding sanity check for vram size arei.gonglei
2014-05-12 9:06 ` Andreas Färber [this message]
2014-05-12 10:18 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53708F27.8040703@suse.de \
--to=afaerber@suse.de \
--cc=arei.gonglei@huawei.com \
--cc=blauwirbel@gmail.com \
--cc=kraxel@redhat.com \
--cc=mjt@tls.msk.ru \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=weidong.huang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.