From: Eric Blake <eblake@redhat.com>
To: Cao jin <caoj.fnst@cn.fujitsu.com>, qemu-devel@nongnu.org
Cc: stefano.stabellini@eu.citrix.com
Subject: Re: [Qemu-devel] [PATCH v5 2/5] Add Error **errp for xen_host_pci_device_get()
Date: Thu, 14 Jan 2016 15:29:33 -0700 [thread overview]
Message-ID: <5698214D.1080503@redhat.com> (raw)
In-Reply-To: <1452689507-8188-3-git-send-email-caoj.fnst@cn.fujitsu.com>
[-- Attachment #1: Type: text/plain, Size: 2322 bytes --]
On 01/13/2016 05:51 AM, Cao jin wrote:
> To catch the error msg. Also modify the caller
>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> hw/xen/xen-host-pci-device.c | 142 +++++++++++++++++++++----------------------
> hw/xen/xen-host-pci-device.h | 5 +-
> hw/xen/xen_pt.c | 13 ++--
> 3 files changed, 80 insertions(+), 80 deletions(-)
>
> diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
> index 351b61a..3e22de8 100644
> --- a/hw/xen/xen-host-pci-device.c
> +++ b/hw/xen/xen-host-pci-device.c
> @@ -31,25 +31,20 @@
> #define IORESOURCE_PREFETCH 0x00001000 /* No side effects */
> #define IORESOURCE_MEM_64 0x00100000
>
> -static int xen_host_pci_sysfs_path(const XenHostPCIDevice *d,
> - const char *name, char *buf, ssize_t size)
> +static void xen_host_pci_sysfs_path(const XenHostPCIDevice *d,
> + const char *name, char *buf, ssize_t size)
Changing xen_host_pci_sysfs_path() to return void, by assert()ing on
caller error, is not mentioned in the commit message; and if I were
doing the series, I probably would have done it as a separate commit.
> /* This size should be enough to read a long from a file */
> #define XEN_HOST_PCI_GET_VALUE_BUFFER_SIZE 22
> -static int xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
> - unsigned int *pvalue, int base)
> +static void xen_host_pci_get_value(XenHostPCIDevice *d, const char *name,
> + unsigned int *pvalue, int base, Error **errp)
> {
> buf[rc] = 0;
> - rc = qemu_strtoul(buf, &endptr, base, &value);
> - if (!rc) {
> - *pvalue = value;
> + rc = qemu_strtoul(buf, &endptr, base, (unsigned long *)pvalue);
Ouch. Casting unsigned int * to unsigned long * and then dereferencing
it is bogus (you end up having qemu_strtoul() write beyond bounds on
platforms where long is larger than int). You'll need to revert this
part of the patch, and stick with *pvalue = value (and possibly even add
a bounds check that value <= UINT_MAX).
Otherwise looks okay.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2016-01-14 22:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-13 12:51 [Qemu-devel] [PATCH v5 0/5] Xen PCI passthru: Convert to realize() Cao jin
2016-01-13 12:51 ` [Qemu-devel] [PATCH v5 1/5] Xen: use qemu_strtoul instead of strtol Cao jin
2016-01-14 22:19 ` Eric Blake
2016-01-13 12:51 ` [Qemu-devel] [PATCH v5 2/5] Add Error **errp for xen_host_pci_device_get() Cao jin
2016-01-14 22:29 ` Eric Blake [this message]
2016-01-15 3:11 ` Cao jin
2016-01-15 16:41 ` Eric Blake
2016-01-17 10:34 ` Cao jin
2016-01-13 12:51 ` [Qemu-devel] [PATCH v5 3/5] Add Error **errp for xen_pt_setup_vga() Cao jin
2016-01-14 22:31 ` Eric Blake
2016-01-13 12:51 ` [Qemu-devel] [PATCH v5 4/5] Add Error **errp for xen_pt_config_init() Cao jin
2016-01-14 22:32 ` Eric Blake
2016-01-13 12:51 ` [Qemu-devel] [PATCH v5 5/5] Xen PCI passthru: convert to realize() Cao jin
2016-01-14 22:34 ` Eric Blake
2016-01-14 16:50 ` [Qemu-devel] [PATCH v5 0/5] Xen PCI passthru: Convert " Stefano Stabellini
2016-01-14 22:36 ` Eric Blake
2016-01-15 14:16 ` Stefano Stabellini
2016-01-17 10:18 ` Cao jin
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=5698214D.1080503@redhat.com \
--to=eblake@redhat.com \
--cc=caoj.fnst@cn.fujitsu.com \
--cc=qemu-devel@nongnu.org \
--cc=stefano.stabellini@eu.citrix.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.