qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Marc-André Lureau" <marcandre.lureau@gmail.com>,
	"Eric Blake" <eblake@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"qemu trival" <qemu-trivial@nongnu.org>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 31/88] QMP: use g_new() family of functions
Date: Mon, 9 Oct 2017 09:11:02 +0100	[thread overview]
Message-ID: <20171009081101.GA2374@work-vm> (raw)
In-Reply-To: <87r2ucrcsi.fsf@dusky.pond.sub.org>

* Markus Armbruster (armbru@redhat.com) wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> 
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > [PMD: more changes]
> > ---
> >  monitor.c                 | 14 +++++++-------
> >  qmp.c                     | 14 +++++++-------
> >  tests/test-qmp-commands.c | 14 +++++++-------
> >  3 files changed, 21 insertions(+), 21 deletions(-)
> >
> > diff --git a/monitor.c b/monitor.c
> > index fe0d1bdbb4..ea6a485f11 100644
> > --- a/monitor.c
> > +++ b/monitor.c
> > @@ -906,7 +906,7 @@ static void query_commands_cb(QmpCommand *cmd, void *opaque)
> >          return;
> >      }
> >  
> > -    info = g_malloc0(sizeof(*info));
> > +    info = g_new0(CommandInfoList, 1);
> >      info->value = g_malloc0(sizeof(*info->value));
> >      info->value->name = g_strdup(cmd->name);
> >      info->next = *list;
> 
> I'm not convinced rewriting
> 
>        LHS = g_malloc(sizeof(*LHS));
> 
> to
> 
>        LHS = g_new(T, 1);
> 
> where T is the type of LHS is worth the trouble.  The code before the
> rewrite is pretty idiomatic.  There's no possibility of integer overflow
> g_new() could avoid.  The types are obviously correct, so the additional
> type checking is quite unlikely to catch anything.  That leaves the
> consistency argument.  I'm willing to hear it, but I feel it should be
> heard in a patch series that does nothing else.

The 'obviously correct' is the dodgy part of the argument here.
How many bugs do we right that are obviously wrong?

t.c:13:20: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     struct c *pc = g_new(struct b, 1);

seems good to me.

Dave

> > @@ -1799,7 +1799,7 @@ static void hmp_wavcapture(Monitor *mon, const QDict *qdict)
> >      int nchannels = qdict_get_try_int(qdict, "nchannels", -1);
> >      CaptureState *s;
> >  
> > -    s = g_malloc0 (sizeof (*s));
> > +    s = g_new0(CaptureState, 1);
> >  
> >      freq = has_freq ? freq : 44100;
> >      bits = has_bits ? bits : 16;
> 
> This hunk is HMP, not QMP.
> 
> > @@ -1947,7 +1947,7 @@ void qmp_getfd(const char *fdname, Error **errp)
> >          return;
> >      }
> >  
> > -    monfd = g_malloc0(sizeof(mon_fd_t));
> > +    monfd = g_new0(mon_fd_t, 1);
> >      monfd->name = g_strdup(fdname);
> >      monfd->fd = fd;
> >  
> > @@ -2110,7 +2110,7 @@ FdsetInfoList *qmp_query_fdsets(Error **errp)
> >          QLIST_FOREACH(mon_fdset_fd, &mon_fdset->fds, next) {
> >              FdsetFdInfoList *fdsetfd_info;
> >  
> > -            fdsetfd_info = g_malloc0(sizeof(*fdsetfd_info));
> > +            fdsetfd_info = g_new0(FdsetFdInfoList, 1);
> >              fdsetfd_info->value = g_malloc0(sizeof(*fdsetfd_info->value));
> >              fdsetfd_info->value->fd = mon_fdset_fd->fd;
> >              if (mon_fdset_fd->opaque) {
> > @@ -2199,7 +2199,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool has_fdset_id, int64_t fdset_id,
> >          }
> >      }
> >  
> > -    mon_fdset_fd = g_malloc0(sizeof(*mon_fdset_fd));
> > +    mon_fdset_fd = g_new0(MonFdsetFd, 1);
> >      mon_fdset_fd->fd = fd;
> >      mon_fdset_fd->removed = false;
> >      if (has_opaque) {
> > @@ -2207,7 +2207,7 @@ AddfdInfo *monitor_fdset_add_fd(int fd, bool has_fdset_id, int64_t fdset_id,
> >      }
> >      QLIST_INSERT_HEAD(&mon_fdset->fds, mon_fdset_fd, next);
> >  
> > -    fdinfo = g_malloc0(sizeof(*fdinfo));
> > +    fdinfo = g_new0(AddfdInfo, 1);
> >      fdinfo->fdset_id = mon_fdset->id;
> >      fdinfo->fd = mon_fdset_fd->fd;
> >  
> > @@ -4102,7 +4102,7 @@ void monitor_init(Chardev *chr, int flags)
> >          is_first_init = 0;
> >      }
> >  
> > -    mon = g_malloc(sizeof(*mon));
> > +    mon = g_new(Monitor, 1);
> >      monitor_data_init(mon);
> >  
> >      qemu_chr_fe_init(&mon->chr, chr, &error_abort);
> 
> This is monitor core, not QMP.
> 
> > diff --git a/qmp.c b/qmp.c
> > index e8c303116a..e965020e37 100644
> > --- a/qmp.c
> > +++ b/qmp.c
> > @@ -232,7 +232,7 @@ ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp)
> >      while ((prop = object_property_iter_next(&iter))) {
> >          ObjectPropertyInfoList *entry = g_malloc0(sizeof(*entry));
> >  
> > -        entry->value = g_malloc0(sizeof(ObjectPropertyInfo));
> > +        entry->value = g_new0(ObjectPropertyInfo, 1);
> >          entry->next = props;
> >          props = entry;
> >  
> > @@ -432,7 +432,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void *data)
> >      ObjectTypeInfo *info;
> >      ObjectClass *parent = object_class_get_parent(klass);
> >  
> > -    info = g_malloc0(sizeof(*info));
> > +    info = g_new0(ObjectTypeInfo, 1);
> >      info->name = g_strdup(object_class_get_name(klass));
> >      info->has_abstract = info->abstract = object_class_is_abstract(klass);
> >      if (parent) {
> > @@ -440,7 +440,7 @@ static void qom_list_types_tramp(ObjectClass *klass, void *data)
> >          info->parent = g_strdup(object_class_get_name(parent));
> >      }
> >  
> > -    e = g_malloc0(sizeof(*e));
> > +    e = g_new0(ObjectTypeInfoList, 1);
> >      e->value = info;
> >      e->next = *pret;
> >      *pret = e;
> > @@ -490,7 +490,7 @@ static DevicePropertyInfo *make_device_property_info(ObjectClass *klass,
> >                  return NULL;           /* no way to set it, don't show */
> >              }
> >  
> > -            info = g_malloc0(sizeof(*info));
> > +            info = g_new0(DevicePropertyInfo, 1);
> >              info->name = g_strdup(prop->name);
> >              info->type = default_type ? g_strdup(default_type)
> >                                        : g_strdup(prop->info->name);
> > @@ -502,7 +502,7 @@ static DevicePropertyInfo *make_device_property_info(ObjectClass *klass,
> >      } while (klass != object_class_by_name(TYPE_DEVICE));
> >  
> >      /* Not a qdev property, use the default type */
> > -    info = g_malloc0(sizeof(*info));
> > +    info = g_new0(DevicePropertyInfo, 1);
> >      info->name = g_strdup(name);
> >      info->type = g_strdup(default_type);
> >      info->has_description = !!description;
> > @@ -568,7 +568,7 @@ DevicePropertyInfoList *qmp_device_list_properties(const char *typename,
> >              continue;
> >          }
> >  
> > -        entry = g_malloc0(sizeof(*entry));
> > +        entry = g_new0(DevicePropertyInfoList, 1);
> >          entry->value = info;
> >          entry->next = prop_list;
> >          prop_list = entry;
> > @@ -712,7 +712,7 @@ ACPIOSTInfoList *qmp_query_acpi_ospm_status(Error **errp)
> >  
> >  MemoryInfo *qmp_query_memory_size_summary(Error **errp)
> >  {
> > -    MemoryInfo *mem_info = g_malloc0(sizeof(MemoryInfo));
> > +    MemoryInfo *mem_info = g_new0(MemoryInfo, 1);
> >  
> >      mem_info->base_memory = ram_size;
> >  
> > diff --git a/tests/test-qmp-commands.c b/tests/test-qmp-commands.c
> > index 904c89d4d4..e715c45a23 100644
> > --- a/tests/test-qmp-commands.c
> > +++ b/tests/test-qmp-commands.c
> > @@ -28,8 +28,8 @@ UserDefTwo *qmp_user_def_cmd2(UserDefOne *ud1a,
> >                                Error **errp)
> >  {
> >      UserDefTwo *ret;
> > -    UserDefOne *ud1c = g_malloc0(sizeof(UserDefOne));
> > -    UserDefOne *ud1d = g_malloc0(sizeof(UserDefOne));
> > +    UserDefOne *ud1c = g_new0(UserDefOne, 1);
> > +    UserDefOne *ud1d = g_new0(UserDefOne, 1);
> >  
> >      ud1c->string = strdup(ud1a->string);
> >      ud1c->integer = ud1a->integer;
> > @@ -209,23 +209,23 @@ static void test_dealloc_types(void)
> >      UserDefOne *ud1test, *ud1a, *ud1b;
> >      UserDefOneList *ud1list;
> >  
> > -    ud1test = g_malloc0(sizeof(UserDefOne));
> > +    ud1test = g_new0(UserDefOne, 1);
> >      ud1test->integer = 42;
> >      ud1test->string = g_strdup("hi there 42");
> >  
> >      qapi_free_UserDefOne(ud1test);
> >  
> > -    ud1a = g_malloc0(sizeof(UserDefOne));
> > +    ud1a = g_new0(UserDefOne, 1);
> >      ud1a->integer = 43;
> >      ud1a->string = g_strdup("hi there 43");
> >  
> > -    ud1b = g_malloc0(sizeof(UserDefOne));
> > +    ud1b = g_new0(UserDefOne, 1);
> >      ud1b->integer = 44;
> >      ud1b->string = g_strdup("hi there 44");
> >  
> > -    ud1list = g_malloc0(sizeof(UserDefOneList));
> > +    ud1list = g_new0(UserDefOneList, 1);
> >      ud1list->value = ud1a;
> > -    ud1list->next = g_malloc0(sizeof(UserDefOneList));
> > +    ud1list->next = g_new0(UserDefOneList, 1);
> >      ud1list->next->value = ud1b;
> >  
> >      qapi_free_UserDefOneList(ud1list);
> 
> Could squash together with PATCH 79 and call the result "monitor: Use
> g_new() family of functions".
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2017-10-09  8:11 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-06 23:48 [Qemu-devel] [PATCH 00/88] use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 01/88] cocci: script to use g_new() & friends Philippe Mathieu-Daudé
2017-10-09  7:24   ` Markus Armbruster
2017-11-02  4:16     ` Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 02/88] cocci: add more g_new() transformations Philippe Mathieu-Daudé
2017-10-09  7:28   ` Markus Armbruster
2017-10-06 23:48 ` [Qemu-devel] [PATCH 03/88] cocci: extract typeof() from g_new() Philippe Mathieu-Daudé
2017-10-06 23:48 ` [Qemu-devel] [PATCH 04/88] cocci: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-07  3:41   ` Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 05/88] cocci: use g_strfreev() Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 06/88] ARM: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 07/88] Audio: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 08/88] BT: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 09/88] Bootdevice: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 10/88] Character devices: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 11/88] Cryptodev Backends: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 12/88] backends/hostmem: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 13/88] Dirty Bitmaps: " Philippe Mathieu-Daudé
2017-10-07 15:45   ` John Snow
2017-10-06 23:49 ` [Qemu-devel] [PATCH 14/88] ui/vnc: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 15/88] ui/spice: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 16/88] Main loop: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 17/88] Memory API: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 18/88] memory: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 19/88] exec: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 20/88] Migration: " Philippe Mathieu-Daudé
2017-10-07 10:15   ` Juan Quintela
2017-10-06 23:49 ` [Qemu-devel] [PATCH 21/88] NBD: " Philippe Mathieu-Daudé
2017-10-09 17:55   ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 22/88] LM32: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 23/88] M68K: " Philippe Mathieu-Daudé
2017-10-07  5:51   ` Thomas Huth
2017-10-06 23:49 ` [Qemu-devel] [PATCH 24/88] MIPS: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 25/88] OpenRISC: " Philippe Mathieu-Daudé
2017-10-07  0:15   ` Stafford Horne
2017-10-06 23:49 ` [Qemu-devel] [PATCH 26/88] S390: " Philippe Mathieu-Daudé
2017-10-09  9:36   ` Cornelia Huck
2017-10-10 13:25   ` Cornelia Huck
2017-10-06 23:49 ` [Qemu-devel] [PATCH 27/88] SH4: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 28/88] disas: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 29/88] SPARC: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 30/88] QEMU Guest Agent: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 31/88] QMP: " Philippe Mathieu-Daudé
2017-10-09  7:38   ` Markus Armbruster
2017-10-09  8:11     ` Dr. David Alan Gilbert [this message]
2017-10-09 18:04       ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 32/88] QObject: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 33/88] qom: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 34/88] qapi: " Philippe Mathieu-Daudé
2017-10-09 17:59   ` Eric Blake
2017-10-06 23:49 ` [Qemu-devel] [PATCH 35/88] Record/replay: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 36/88] SLIRP: " Philippe Mathieu-Daudé
2017-10-08 22:20   ` Samuel Thibault
2017-10-06 23:49 ` [Qemu-devel] [PATCH 37/88] TCG: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 38/88] VFIO: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 39/88] hw/i386: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 40/88] hw/xen: " Philippe Mathieu-Daudé
2017-10-10 15:55   ` Anthony PERARD
2017-10-06 23:49 ` [Qemu-devel] [PATCH 41/88] target/i386: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 42/88] XTFPGA: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 43/88] hw/core: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 44/88] hw/core/loader: " Philippe Mathieu-Daudé
2017-10-10  0:03   ` Alistair Francis
2017-10-06 23:49 ` [Qemu-devel] [PATCH 45/88] hw/display: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 46/88] hw/display/vga: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 47/88] hw/i2c: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 48/88] hw/input: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 49/88] hw/misc: " Philippe Mathieu-Daudé
2017-10-09 14:21   ` Gabriel L. Somlo
2017-10-06 23:49 ` [Qemu-devel] [PATCH 50/88] ivshmem: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 51/88] hw/timer: " Philippe Mathieu-Daudé
2017-10-07  0:46   ` xiaoqiang zhao
2017-10-07  0:52   ` xiaoqiang zhao
2017-10-06 23:49 ` [Qemu-devel] [PATCH 52/88] i.MX31: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 53/88] iSCSI: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 54/88] KVM: " Philippe Mathieu-Daudé
2017-10-09 14:21   ` Gabriel L. Somlo
2017-10-06 23:49 ` [Qemu-devel] [PATCH 55/88] PReP: " Philippe Mathieu-Daudé
2017-10-07  4:38   ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 56/88] PowerPC: " Philippe Mathieu-Daudé
2017-10-07  4:39   ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 57/88] ppc: " Philippe Mathieu-Daudé
2017-10-07  4:40   ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 58/88] ppc4xx: " Philippe Mathieu-Daudé
2017-10-07  5:15   ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 59/88] ppce500: " Philippe Mathieu-Daudé
2017-10-07  5:16   ` David Gibson
2017-10-06 23:49 ` [Qemu-devel] [PATCH 60/88] sPAPR: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 61/88] tests: " Philippe Mathieu-Daudé
2017-10-09  6:46   ` Thomas Huth
2017-10-09 16:36   ` John Snow
2017-10-06 23:49 ` [Qemu-devel] [PATCH 62/88] user: " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 63/88] bsd-user/syscall: fix a memory leak on EFAULT, use g_new() Philippe Mathieu-Daudé
2017-10-07  8:48   ` [Qemu-devel] [Qemu-trivial] " Kamil Rytarowski
2017-11-06 19:06   ` [Qemu-devel] " Philippe Mathieu-Daudé
2017-10-06 23:49 ` [Qemu-devel] [PATCH 64/88] user: use g_strfreev() Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 65/88] util: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 66/88] util/qemu-thread-win32: " Philippe Mathieu-Daudé
2017-10-07  6:47   ` Stefan Weil
2017-10-06 23:50 ` [Qemu-devel] [PATCH 67/88] util/coroutine: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 68/88] virtio: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 69/88] virtio-9p: " Philippe Mathieu-Daudé
2017-10-07 12:51   ` Greg Kurz
2017-10-06 23:50 ` [Qemu-devel] [PATCH 70/88] block: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 71/88] block: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-07  3:44   ` Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 72/88] hw/block/nvme: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 73/88] hw/block/xen_disk: avoid use of g_new0() Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 74/88] balloon: use g_new() family of functions Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 75/88] decnumber: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 76/88] dma: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 77/88] dump: " Philippe Mathieu-Daudé
2017-10-09  9:38   ` Cornelia Huck
2017-10-06 23:50 ` [Qemu-devel] [PATCH 78/88] gdb: " Philippe Mathieu-Daudé
2017-10-09  9:38   ` Alex Bennée
2017-10-06 23:50 ` [Qemu-devel] [PATCH 79/88] hmp: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 80/88] numa: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 81/88] hw/acpi: " Philippe Mathieu-Daudé
2017-10-09 15:42   ` Ben Warren
2017-10-06 23:50 ` [Qemu-devel] [PATCH 82/88] hw/ipmi: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 83/88] hw/pci: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 84/88] hw/scsi: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 85/88] hw/usb: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 86/88] net/hub: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 87/88] hw/net/rocker: " Philippe Mathieu-Daudé
2017-10-06 23:50 ` [Qemu-devel] [PATCH 88/88] scripts/coverity-model: " Philippe Mathieu-Daudé
2017-10-09  6:46   ` Markus Armbruster
2017-11-02  4:11     ` Philippe Mathieu-Daudé
2017-10-07  0:04 ` [Qemu-devel] [PATCH 00/88] " Philippe Mathieu-Daudé
2017-10-07  1:26 ` no-reply
2017-10-07  1:27 ` no-reply
2017-10-07 14:18 ` Peter Maydell

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=20171009081101.GA2374@work-vm \
    --to=dgilbert@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@gmail.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).